DE102007012448B4 - Ein chipsatz-unabhängiges Verfahren für lokale Aktualisierung und Konfigurierung eines System-BIOS - Google Patents

Ein chipsatz-unabhängiges Verfahren für lokale Aktualisierung und Konfigurierung eines System-BIOS Download PDF

Info

Publication number
DE102007012448B4
DE102007012448B4 DE102007012448.3A DE102007012448A DE102007012448B4 DE 102007012448 B4 DE102007012448 B4 DE 102007012448B4 DE 102007012448 A DE102007012448 A DE 102007012448A DE 102007012448 B4 DE102007012448 B4 DE 102007012448B4
Authority
DE
Germany
Prior art keywords
nvm
ihs
memory
update
updating
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE102007012448.3A
Other languages
English (en)
Other versions
DE102007012448A1 (de
Inventor
Samer El Haj Mahmoud
Paul Dennis Stultz
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dell Products LP
Original Assignee
Dell Products LP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dell Products LP filed Critical Dell Products LP
Publication of DE102007012448A1 publication Critical patent/DE102007012448A1/de
Application granted granted Critical
Publication of DE102007012448B4 publication Critical patent/DE102007012448B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

Verfahren zum Aktualisieren eines nicht-flüchtigen Speichers (non volatile memory, NVM), der in einem Informationsverarbeitungssystem (information handling system, IHS) enthalten ist, wobei das Verfahren umfasst:Überprüfen einer Mehrzahl von Bedingungen, die das Aktualisieren des NVM aus einem Speicher des IHS ermöglichen, wobei das Überprüfen der Mehrzahl von Bedingungen umfasst:Überprüfen eines warmen Neustart-Status (warm reboot status) des IHS;Überprüfen eines Aktualisierungsanfrage-Bits, das in einem anderen nicht-flüchtigem Speicher (another non-volatile memory (ANVM)) des IHS gesetzt ist, wobei das Aktualisierungsanfrage-Bit eine anhängige Anfrage zum Aktualisieren des NVM aus dem Speicher anzeigt; undÜberprüfen eines Fehlersummen-Fehlerstatus des ANVM;Beibehalten von Inhalten des Speichers, wobei das Beibehalten umfasst:Initialisieren von Interrupts, die in der Lage sind, das Aktualisieren zu unterbrechen;Deaktivieren der Interrupts, um eine Unterbrechung des Aktualisierens zu vermeiden; undDeaktivieren eines Bus-Masters, der in der Lage ist, die Inhalte des Speichers zu ändern;Aktualisieren des NVM aus dem Speicher; undRücksetzen des IHS als Antwort auf das Aktualisieren durch das Aktivieren eines kalten Neustarts (cold reboot).

Description

  • Hintergrund
  • Die vorliegende Offenbarung betrifft im Allgemeinen Informationsverarbeitungssysteme und insbesondere eine Aktualisierung des grundlegenden Eingangs-/Ausgangssystems (basic input output system) eines Informationsverarbeitungssystems.
  • Da der Wert und Gebrauch von Informationen kontinuierlich wächst, suchen Privatpersonen und Firmen zusätzliche Wege zum Erfassen, Verarbeiten und Speichern von Informationen. Eine Option, die für den Nutzer verfügbar ist, sind Informationsverarbeitungssysteme. Ein Informationsverarbeitungssystem (information handling system, IHS) verarbeitet, kompiliert, speichert, und/oder kommuniziert im Allgemeinen Informationen oder Daten für geschäftliche, persönliche oder andere Zwecke und ermöglicht dadurch den Nutzern von dem Wert der Information zu profitieren. Da die Anforderungen an Technologien und Informationsverarbeitung für verschiedene Benutzer und Anwendungen unterschiedlich sind, können IHS auch unterschiedlich sein 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 Unterschiede von IHS ermöglichen, dass die IHS allgemein konfiguriert sind oder für einen spezifischen Benutzer oder eine spezifische Nutzung, wie z.B. Verarbeitung von finanziellen Transaktionen, Flugbuchungen, firmenweite Datenspeicherung, Unterhaltung und/oder weltweite Kommunikation konfiguriert sind. Zusätzlich können IHS eine Vielzahl von Hardware- und Software-Komponenten beinhalten, die konfiguriert werden können, zum Verarbeiten, Speichern, und Kommunizieren von Informationen und können ein oder mehrere Computersysteme, Datenspeicherungssysteme und Netzwerksysteme beinhalten.
  • Ein grundlegendes Eingangs-/Ausgangssystem (basic input output system, BIOS) ist im Allgemeinen ein speicherresidentes Softwareprogramm, das Befehle beinhaltet, die notwendig sind, zum Steuern von Computerperipheriegeräten wie etwa die Tastatur, der Bildschirm, Festplattenlaufwerke, serielle Kommunikationen und andere Funktionen ohne sich auf eine Festplatte zu verlassen. Das BIOS kann auch als Firmware bezeichnet werden, da es üblicherweise in einem nichtflüchtigen Speicher (non-volatile memory, NVM) z.B. Flash-Speicher gespeichert ist. Dies stellt sicher, dass das BIOS zum Starten (Booten) des Systems verfügbar ist, auch bei einer Fehlfunktion der Festplatte.
  • Das BIOS beinhaltet üblicherweise einen Setup-Code und ein Power-On-Self-Test (POST) Programm, die beide dem Fachmann wohl bekannt sind. Der Setup-Code ermöglicht dem Nutzer das Computersystem in einer gewünschten Weise zu konfigurieren, z.B. durch Bestimmen, ob manche Merkmale aktiv oder gesperrt sind und durch Bestimmen bestimmter Voreinstellungen. Eine Computersystemkonfiguration bezeichnet im Allgemeinen einen Prozess zum Einstellen, Definieren und/oder Auswählen von Hardware, Softwareeigenschaften, Parametern, oder Merkmalen des Systems. Der POST-Code testet und initialisiert verschiedene Komponenten, wenn das System aktiviert wird. Beide, die Setup- und die POST-Codes werden üblicherweise in NVM wie etwa einem Flash-Speicher gespeichert.
  • Derzeit sind Anwendungssoftwareprogramme verfügbar, wie etwa ein BIOS-Fernaktualisierungsprogramm (remote BIOS update program, RBU) und/oder eine Fernkonfigurationsschnittstelle (remote configuration interface, RCI) zum entweder lokalen Aktualisieren oder Fernaktualisieren des BIOS. Das folgende US-Patent beschreibt verschiedene Aspekte der Aktualisierung des BIOS, fern oder lokal, das hierin durch Bezugnahme aufgenommen wird: 1) US-Patent 6,438,688 mit dem Titel „Method and Computer for Locally and Remotely Updating a Basic Input/Output System (BIOS) Utilizing one Update File“.
  • Dennoch kann eine Implementierung einer Änderung oder eine Modifikation des BIOS mühsam sein, da der BIOS-Code oft geändert werden muss, abhängig von den Einschränkungen eines speziellen Chipsatzes, der in dem IHS benutzt wird. Zum Beispiel könnte ein Speicherinitialisierungscode des unterstützen Chipsatzes geändert werden müssen. Spezieller BIOS-Code könnte eingefügt werden, zum Einstellen der Speicherschaltungen im Self-Refreshing-Modus während einer Initialisierung. Zusätzlich können manche Chipsätze, die in Server-Strukturen benutzt werden, den Speicher nach einem internen Bus-Reset initialisieren, z.B. nach dem Rücksetzen des Periphery Component Interconnect (PCI) - Busses.
  • Deswegen ist ein Bedarf entstanden, die Aktualisierung des NVM eines IHS zu verbessern. Folglich wäre es wünschenswert, ein Verfahren für eine ferne oder lokale Aktualisierung des BIOS-Codes zur Verfügung zu stellen, das unabhängig von den Einschränkungen eines Chipsatzes ist, und das die Nachteile des oben beschriebenen Stand-der-Technik-Verfahrens nicht aufweist.
  • Zusammenfassung
  • Der oben genannte Bedarf wird durch die Lehre der vorliegenden Erfindung angesprochen, die die Aktualisierung eines NVM eines IHS betrifft. Gemäß einem Ausführungsbeispiel für die Aktualisierung eines BIOS-Codes, der in einem NVM gespeichert ist, welcher Bestandteil eines IHS ist, wird eine Mehrzahl von Bedingungen überprüft, die die Aktualisierung des BIOS, das in dem NVM gespeichert ist, aus einem Speicher des IHS ermöglichen. Die Inhalte des Speichers werden erhalten durch Deaktivieren von Interrupts und Deaktivieren von Bus-Mastern, die in der Lage sind, eine Änderung des Inhalts des Speichers zu verursachen. Das BIOS, das in dem NVM gespeichert ist, wird vom Speicher aktualisiert. Eine Benutzerschnittstelle wird bereitgestellt, um den Status der Aktualisierung des NVM anzuzeigen und die Benutzerfreundlichkeit zu verbessern. Nach der Fertigstellung der Aktualisierung wird das IHS zurückgestellt durch die Aktivierung eines kalten Neustarts (cold reboot), wodurch die Änderungen, die an dem BIOS gemacht wurden, wirksam werden.
  • Weitere Vorteile werden realisiert, gemäß den beispielhaften Ausführungsbeispielen, die hierin beschrieben werden. Die Ausführungsbeispiele stellen auf vorteilhafte Weise ein verbessertes automatisiertes Verfahren bereit, zur Änderung des Inhalts des NVM in einer Weise, die unabhängig von einem Chipsatz, der in dem IHS benutzt wird, und seinen Einschränkungen ist. Ein Anwendungsprogramm, das lokal in dem IHS ausgeführt werden kann und/oder bei einer entfernten Stelle, die mit dem IHS verbunden ist, ausgeführt werden kann, wird ausgeführt, um den Inhalt des NVM zu ändern, ohne den BIOS-Code jedes spezifischen Chipsatzes ändern zu müssen. Die Änderungen, die an dem BIOS gemacht werden, werden wirksam nach einem kalten-Start-Ereignis (cold boot) des IHS.
  • Figurenliste
    • 1 zeigt ein Blockdiagramm eines IHS gemäß einem Ausführungsbeispiel.
    • 2A ist ein Flussdiagramm, das ein Verfahren zur Aktualisierung eines NVM eines IHS gemäß einem Ausführungsbeispiel darstellt.
    • 2B ist ein Flussdiagramm, das zusätzliche Einzelheiten der Überprüfung einer Mehrzahl von Bedingungen, die mit Bezug auf 2A beschrieben werden, darstellt, gemäß einem Ausführungsbeispiel.
    • 2C ist ein Flussdiagramm, das zusätzliche Einzelheiten des Beibehaltens von Inhalt eines RAM, die mit Bezug auf 2A beschrieben werden, darstellt, gemäß einem Ausführungsbeispiel.
    • 2D ist ein Flussdiagramm, das zusätzliche Einzelheiten der Aktualisierung des Inhalts eines NVM aus einem RAM, die mit Bezug auf 2 beschrieben werden, gemäß einem Ausführungsbeispiel darstellt.
    • 3 ist ein Flussdiagramm, das ein Verfahren zur Aktualisierung eines BIOS eines IHS gemäß einem Ausführungsbeispiel darstellt.
  • Detaillierte Beschreibung
  • Neue Merkmale, die die vorliegende Erfindung kennzeichnen, werden in den angehängten Ansprüchen erläutert. Jedoch wird die Offenbarung selbst sowie eine bevorzugte Art der Verwendung, verschiedene Ziele und Vorteile davon, bestens verstanden unter Bezug auf die folgende detaillierte Beschreibung eines erklärenden Ausführungsbeispiels, wenn sie zusammen mit den begleitenden Zeichnungen gelesen wird. Die Funktionalität von verschiedenen Schaltungen, Geräten, Platten, Karten, Modulen, Blöcken und/oder Komponenten, die hierin beschrieben werden, können als Hardware (inklusive diskrete Komponenten, integrierte Schaltungen und Systems on a Chip, SOC), Firmware (inklusive anwendungsspezifische Geräteschaltungen und programmierbare Chipsätze) und/oder Software oder einer Kombination hiervon, abhängig von den Anforderungen der Anwendung implementiert werden.
  • Konfiguration - beschreibt eine Konfiguration eines Gerätes und/oder eines Systems und betrifft einen Prozess zum Einstellen, Definieren oder Auswählen von Hardware und/oder Software-Eigenschaften, Parametern oder Merkmalen des Gerätes und/oder des Systems. Bestimmte Arten von neuen Technologien wie etwa Plug-and-Play können das Gerät automatisch konfigurieren.
  • BIOS-Code und/oder Konfigurationsdaten für ein IHS können aktualisiert werden müssen, um die Funktionalität zu verbessern, und/oder Fehler zu beheben. Ein wohl bekanntes Verfahren zur Bereitstellung der Aktualisierungen, lokal oder von Ferne, besteht in der Entwicklung von chipsatzspezifischem BIOS-Code, um die Einschränkungen des Chipsatzes zu umgehen. Jedoch steigert die Entwicklung von chipsatzspezifischem BIOS die Entwicklungskosten und verursacht Zeitverzögerungen für die Einführung von neuen Produkten. Dadurch existiert ein Bedarf zum Bereitstellen von Code zur Aktualisierung von BIOS, der unabhängig von dem Chipsatz-Design ist.
  • Gemäß einem Ausführungsbeispiel zur Aktualisierung eines BIOS-Codes, der in einem NVM gespeichert ist, welcher Bestandteil eines IHS ist, wird eine Mehrzahl von Bedingungen überprüft, die die Aktualisierung des BIOS, das in dem NVM gespeichert ist, aus einem Speicher des IHS ermöglichen. Die Inhalte des Speichers werden beibehalten durch Deaktivieren von Interrupts und Deaktivieren von Bus-Mastern, die in der Lage sind, eine Änderung in dem Inhalt des Speichers zu verursachen. Das BIOS, das in dem NVM gespeichert ist, wird aus dem Speicher aktualisiert. Eine Benutzerschnittstelle wird bereitgestellt, um den Status der Aktualisierung des NVM anzuzeigen und die Benutzerfreundlichkeit zu verbessern. Nach der Fertigstellung der Aktualisierung wird das IHS zurückgesetzt durch die Aktivierung eines kalten Neustarts (cold reboot), wodurch die Änderungen, die an dem BIOS gemacht wurden, wirksam werden.
  • Für die Zwecke dieser Offenbarung kann ein IHS jedes Mittel oder Anordnungen von Mitteln beinhalten, die geeignet sind, jede Form von Information, Intelligenz oder Daten für geschäftliche, wissenschaftliche, Kontroll- und andere Zwecke zu berechnen, zu klassifizieren, zu bearbeiten, zu übertragen, zu empfangen, abzufragen, zu erzeugen, zu schalten, zu speichern, darzustellen, bekannt zu machen, zu ermitteln, aufzunehmen, zu reproduzieren, zu verarbeiten oder zu nutzen. Zum Beispiel kann das IHS ein Personalcomputer inklusive Notebook, ein Minicomputer (personal digital assistant, PDA), Mobiltelefone, Spielkonsolen, ein Netzwerkspeichergerät oder jedes andere geeignete Gerät sein und in Größe, Form, Leistung, Funktionalität und Preis variieren. Das IHS kann flüchtigen Speicher (RAM) aufweisen, eine oder mehrere Verarbeitungsressourcen, wie eine zentrale Prozessoreinheit (CPU) oder Hardware- oder Softwaresteuerlogik, ROM und/oder andere Arten von NVM. Zusätzliche Komponenten des IHS können umfassen: ein oder mehrere Festplattenlaufwerke, einen oder mehrere Netzwerkanschlüsse (Ports) zur Kommunikation mit externen Geräten sowie verschiedene Eingabe- und Ausgabe (I/O) Geräte wie eine Tastatur, eine Maus und einen Bildschirm. Das IHS kann auch einen oder mehrere Busse aufweisen, die geeignet sind, Nachrichten zwischen den verschiedenen Hardwarekomponenten zu übermitteln.
  • 1 zeigt ein Blockdiagramm eines IHS 100 gemäß einem Ausführungsbeispiel. Das IHS 100 umfasst einen Prozessor 110, einen flüchtigen Speicher (RAM) 120 (auch als Hauptspeicher bezeichnet), einen NVM 122, einen Bildschirm 105, eine Tastatur 125 und einen I/O-Controller 140 für die Steuerung verschiedener anderer I/O-Geräte, wobei jedes Gerät mit einem Bus 150 gekoppelt ist. Zum Beispiel kann der I/O-Controller 140 einen Tastaturcontroller, einen Eingabezeigergerät-Controller und/oder den seriellen I/O-Controller umfassen. Es soll verstanden werden, dass die Bezeichnung Informationsverarbeitungssystem jedes Gerät umfasst, das einen Prozessor aufweist, der Befehle aus einem Speichermedium ausführt.
  • In einem speziellen Ausführungsbeispiel wird ein anderer oder zusätzlicher nicht-flüchtiger Speicher (additional non-volatile memory, ANVM) 160, etwa ein batteriegestützter CMOS-Speicher, an den Bus 150 gekoppelt. Der ANVM 160 wird zum Speichern von IHS-Konfigurationsdaten verwendet, wie etwa Festplatteneinstellungen, Geräten und I/O-Anschlüssen, Datum- und Zeiteinstellungen, Systemsicherheitseinstellungen, Startoperationen, Strommanagement-Einstellungen und Ähnliches. In einem speziellen Ausführungsbeispiel kann der ANVM 160 in einem anderen Speichergerät integriert werden, der in dem IHS 100 beinhaltet ist, wie etwa im NVM 122. In einem speziellen Ausführungsbeispiel, wird ein Teil des NVM 122 zum Speichern eines BIOS 180 verwendet. In einem speziellen Ausführungsbeispiel wird ein Teil des RAM 120 zum Speichern eines Anwendungsprogramms 170 verwendet. Das Anwendungsprogramm 170 umfasst ein oder mehrere Befehle, die von einem Prozessor 110 ausgeführt werden können, um ein neues Abbild für das BIOS 180 und folglich für den NVM 122 zu erzeugen. In einem speziellen Ausführungsbeispiel wird das neue Abbild vom Anwendungsprogramm 170 in dem RAM 120 gespeichert, vor der Aktualisierung des BIOS 180 in dem NVM 122. Das Anwendungsprogramm 170 kann ausgeführt werden, um den NVM 122 lokal zu aktualisieren oder kann von einem entfernten Prozess ausgeführt werden, das auf einem anderen IHS (AIHS) (nicht dargestellt) läuft.
  • In einem speziellen Ausführungsbeispiel umfasst das BIOS 180 einen Code (auch als Befehle bezeichnet), der unabhängig von einem Chipsatz ist, der in dem IHS 100 verwendet wird, und der ausführbar ist, um den NVM 122 aus dem Abbild zu aktualisieren, das in dem RAM 120 gespeichert ist. Zusätzliche Einzelheiten der Aktualisierung des NVM 122 aus dem RAM 120 werden mit Bezug auf 2 beschrieben.
  • Der Prozessor 110 kommuniziert mit den Systemkomponenten über den Bus 150, der Daten, Adress- und Kontrollleitungen umfasst. In einem Ausführungsbeispiel kann das IHS 100 mehrere Instanzen des Busses 150 umfassen. In einem exemplarischen, nicht dargestellten Ausführungsbeispiel können nicht alle Geräte, die gezeigt werden, direkt mit dem Bus 150 gekoppelt werden. Die mehreren Instanzen des Busses 150 können einem oder mehreren proprietären Standards entsprechen und/oder einem oder mehreren industriellen Standards wie etwa PCI, PCIe, ISA, USB, SMBus und Ähnliches. Ein Kommunikationsgerät 145 wie etwa eine Netzwerkschnittstellenkarte und/oder ein Funkgerät können an den Bus 150 angeschlossen werden, um einen drahtgebundenen und/oder drahtlosen Informationsaustausch zwischen dem IHS 100 und anderen Geräten/Systemen (nicht dargestellt) wie etwa dem AIHS zu ermöglichen. In einem speziellen Ausführungsbeispiel kann das IHS 100 mehrere Instanzen des Prozessors 110 umfassen, zum Beispiel in einem Mehrkern-, Mehrprozessor-System.
  • Der Prozessor 110 ist geeignet zum Ausführen der Rechnerbefehle und/oder Befehle des IHS 100. Das Speichermedium, zum Beispiel RAM 120, speichert vorzugsweise Befehle (auch bekannt als ein Softwareprogramm) für die Umsetzung verschiedener Ausführungsbeispiele eines Verfahrens gemäß der vorliegenden Offenbarung. Ein Betriebssystem (OS) 135 des IHS 100 ist eine Art von Softwareprogramm, das die Ausführung von anderen Softwareprogrammen steuert, die als Anwendungssoftwareprogramme bezeichnet werden, zum Beispiel das Anwendungsprogramm 170. In verschiedenen Ausführungsbeispielen können die Befehle und/oder Softwareprogramme auf verschiedene Weise implementiert werden, inklusive prozedurbasierter Verfahren, komponentenbasierter Verfahren, und/oder objektorientierter Verfahren, und andere. Das BIOS 180 wird üblicherweise in einer Assembler-Sprache programmiert. Software kann auch implementiert werden unter Verwendung von C, XML, C++ Objekten, JAVA und .NET-Technologie von Microsoft.
  • In einem nicht dargestellten beispielhaften Ausführungsbeispiel kann das IHS 100 in einer Mehrzahl von Betriebs-Modi wie etwa einem Start-Up-Modus, einen Leerlauf-Modus, einen Laufzeit-Modus, einem sicheren (safe) Modus und anderen ähnlichen Modi betrieben werden. Das IHS 100 kann als in einem warmen oder kalten Start- (Boot-Up) Modus laufend beschrieben werden, wenn es BIOS-Code wie etwa die SETUP- und POST-Codes ausführt. Das IHS 100 kann aus dem Start-Modus aussteigen, wenn die Ausführung des POST-Codes fertig ist und die Kontrolle von dem BIOS 180 zum Betriebssystem (OS) 135 des IHS 100 transferiert wird. Das IHS 100 kann in einem Laufzeit- (run-time) Modus laufend beschrieben werden, wenn das OS 135 geladen und betriebsbereit ist, zum Ausführen von einem oder mehreren Anwendungsprogrammen, wie etwa dem Anwendungsprogramm 170.
  • 2A ist ein Flussdiagramm, das ein Verfahren zum Aktualisieren eines NVM eines IHS darstellt, gemäß einem Ausführungsbeispiel. In einem speziellen Ausführungsbeispiel ist der NVM im Wesentlichen der Gleiche wie der NVM 122 und IHS ist im Wesentlichen das Gleiche wie das IHS 100, das mit Bezug auf 1 beschrieben wurde.
  • Beim Schritt 210 wird ein Anwendungsprogramm wie etwa das Anwendungsprogramm 170 zum Erzeugen eines aktualisierten Abbildes des BIOS 180 ausgeführt, das in dem NVM 122 gespeichert ist. In einem speziellen Ausführungsbeispiel kann ein entfernter Prozess und/oder ein Anwendungsprogramm, das auf einem anderen IHS wie etwa einem zentralen Server läuft, zum Erzeugen des aktualisierten Abbildes ausgeführt werden. Beim Schritt 212, wird das aktualisierte Abbild, das lokal oder fern erzeugt wurde, in dem RAM 120 gespeichert und ein Aktualisierungsanfrage-Flag oder Bit wird in dem ANVM 160 gesetzt. Das Setzen des Aktualisierungsanfrage-Bits zeigt eine anhängige Anfrage für die Aktualisierung des NVM 122 an. Zum Beispiel kann ein RBU-Programm oder ein RCI eine Aktualisierung des BIOS anfordern durch das Setzen des Aktualisierungsanfrage-Flags. Beim Schritt 214 wird ein Prozessorinitalisierungsbefehl wie z. B. PROC_INIT vom Anwendungsprogramm 170 erzeugt, um die Aktualisierung des NVM 122 zu initialisieren. In einem speziellen Ausführungsbeispiel, in einem Mehrprozessor-System können mehrere Prozessoren von dem Prozessor-Initialisierungsbefehl zurückgesetzt werden. Beim Schritt 216 wird vor der Aktualisierung des NVM 122 aus dem aktualisierten Abbild eine Mehrzahl von Bedingungen überprüft, ob sie zutreffend und/oder gesetzt sind. Zusätzliche Einzelheiten der Mehrzahl von Tests, die überprüft werden, werden mit Bezug auf 2B beschrieben.
  • Beim Schritt 218 werden die Inhalte des RAM 120 einschließlich des aktualisierten Abbildes beibehalten und/oder geschützt. Zusätzliche Einzelheiten der Erhaltung der Inhalte des RAM 120 werden mit Bezug auf 2C beschrieben. Beim Schritt 220 wird der NVM 122 aus dem aktualisierten Abbild, das in dem RAM 120 gespeichert ist, aktualisiert. Das bedeutet, dass Inhalte des aktualisierten Abbildes, die in dem RAM 120 gespeichert sind, in das BIOS 180, das in dem NVM 122 gespeichert ist, kopiert werden. Zusätzliche Einzelheiten der Aktualisierung des NVM 122 aus dem RAM 120 werden mit Bezug auf 2D beschrieben. Beim Schritt 222, wird das IHS 100 durch die Aktivierung eines kalten Neustarts (cold reboot) zurückgesetzt. Der kalte Neustart (cold reboot) lädt das aktualisierte Abbild des BIOS 180 und ermöglicht dadurch, dass die Änderungen, die in der Aktualisierung enthalten sind, wirksam werden. In einem speziellen Ausführungsbeispiel können die Schritte 216, 218, 220 und 222 in dem BIOS 180 implementiert werden.
  • 2B ist ein Flussdiagramm, das zusätzliche Einzelheiten für die Überprüfung einer Mehrzahl von Bedingungen, die mit Bezug auf den Schritt 216 von 2A beschrieben werden, gemäß einem Ausführungsbeispiel darstellt. Beim Schritt 2162, wird ein warmer Neustart- (warm reboot) Status des IHS 100 überprüft. In einem speziellen Ausführungsbeispiel kann der warme Neustart-(warm reboot) Status überprüft werden durch Lesen einer vordefinierten Speicherstelle, z.B. einer speziellen Stelle in dem RAM 120, und durch Feststellen, ob die Inhalte der vordefinierten Speicherstelle vordefinierten Daten wie etwa einem vordefinierten Bit-Muster entsprechen. Beim Schritt 2164 wird ein Aktualisierungsanfrage-Bitsatz überprüft, um auf einen vordefinierten Zustand wie etwa eine logische „1“ gesetzt zu werden. Der Aktualisierungsanfrage-Bitsatz zeigt eine anhängige Anfrage für die Aktualisierung des NVM 122 aus dem RAM 120, wie mit Bezug auf den Schritt 212 von 2A beschrieben wurde. In einem speziellen Ausführungsbeispiel wird der Aktualisierungsanfrage-Bitsatz in dem ANVM 160 durch das Anwendungsprogramm 170 gespeichert. Beim Schritt 2166 wird ein Checksummen-Fehlerstatus (check sum error status) des ANVM 160 überprüft, um fehlerfrei zu sein, um den Eintritt eines einzigen Bitfehlers auszuschließen, der das Aktualisierungsanfrage-Bit unbeabsichtigt setzen würde.
  • 2C ist ein Flussdiagramm, das zusätzliche Einzelheiten für das Beibehalten der Inhalte des RAM 120, das mit Bezug auf Schritt 218 von 2A beschrieben wurde, gemäß einem Ausführungsbeispiel darstellt. Beim Schritt 2182 werden Interrupt-Signale initialisiert, die in der Lage sind, die Aktualisierung des NVM 122 und/oder des RAM 120 zu unterbrechen. In einem beispielhaften, nicht dargestellten Ausführungsbeispiel kann die Initialisierung die Neuinitialisierung eines 8259 programmierbaren Interrupt-Controllers (programmable interrupt controler, PIC) umfassen, der die Interrupt-Anfrage (interrupt request, IRQ) bearbeitet, sowie die Interrupt-Vektortabelle (interrupt vector table, IVT). Beim Schritt 2184 werden die Interrupts deaktiviert, um das Unterbrechen der Aktualisierung vorzubeugen oder zu vermeiden. Beim Schritt 2186 werden ein Bus-Mastergerät, wie etwa ein PCI-Bus-Master und Hardware-Interrupts deaktiviert.
  • 2D ist ein Flussdiagramm, das zusätzliche Einzelheiten der Aktualisierung der Inhalte des NVM 122 aus dem RAM 120, die mit Bezug auf Schritt 220 von 2A beschrieben wurde, gemäß einem Ausführungsbeispiel darstellt. Beim Schritt 2201 wird eine Benutzerschnittstelle für eine verbesserte Benutzerfreundlichkeit bereitgestellt. In einem beispielhaften nicht dargestellten Ausführungsbeispiel ist die Benutzerschnittstelle ein Bildschirm wie etwa das Bildschirmgerät 105. Die Benutzerschnittstelle wird reaktiviert und ein Video-Interrupt z.B. INT10h wird vor dem letzten Start (boot) wieder hergestellt. Beim Schritt 2202 wird eine Ausgabe wie etwa eine Bildschirm-Textmeldung generiert, um einen Status der Aktualisierung des NVM 122 anzuzeigen. Beim Schritt 2203 wird die Integrität des aktualisierten Abbildes, das in dem RAM 120 gespeichert ist, überprüft, z. B. durch das Durchführen einer Fehler-Checksumme auf dem RAM 120. Beim Schritt 2204 wird das aktualisierte Abbild, das in dem RAM 120 gespeichert ist, dekomprimiert. Beim Schritt 2205 wird das aktualisierte Abbild, das in dem RAM 120 gespeichert ist, kopiert, um das BIOS 180, das in dem NVM 122 gespeichert ist, zu aktualisieren. Beim Schritt 2206 wird ein Antwort-Code für das Anwendungsprogramm 170 geschickt. Der Antwort-Code zeigt, ob die Aktualisierung des BIOS 180 mit oder ohne Fehler fertig gestellt wurde. Beim Schritt 2207 wird eine Ausgabe des Durchführungsstatus bereitgestellt, um die Benutzerfreundlichkeit zu verbessern. Die Ausgabe des Durchführungsstatus zeigt, ob die Aktualisierung des BIOS 180 mit oder ohne Fehler beendet wurde. Beim Schritt 2208 wird zumindest eine von der Mehrzahl der Anzeigen, die mit Bezug auf Schritt 216 von 2A beschrieben wurden, zurückgesetzt. In einem speziellen Ausführungsbeispiel wird der Aktualisierungsanfrage-Bitsatz gelöscht oder zu einem vordefinierten Zustand gesetzt, wie etwa zu einem logischen „0“. Mit Bezug auf 2A, 2B, 2C und 2D können verschiedene Schritte, die oben beschrieben wurden, hinzugefügt, ausgelassen, kombiniert, geändert oder in unterschiedlichen Reihenfolgen durchgeführt werden. Zum Beispiel kann in einem speziellen Ausführungsbeispiel mit Bezug auf 2A ein zusätzlicher Schritt vor dem Schritt 210 hinzugefügt werden, um dem IHS 100, ein unterbrechungsfreies Stromversorgungsgerät (uninterruptible power supply, UPS) bereitzustellen. Das UPS kann auf vorteilhafte Weise die Fertigstellung des Aktualisierungsschritts des BIOS 180 im Fall eines Stromversagens während des Aktualisierungsprozesses des NVM sicherstellen.
  • 3 ist ein Flussdiagramm, das ein Verfahren für die Aktualisierung eines BIOS eines IHS gemäß einem Ausführungsbeispiel darstellt. In einem speziellen Ausführungsbeispiel ist das BIOS im Wesentlichen das gleiche wie BIOS 180 und das IHS ist im Wesentlichen das gleiche wie das IHS 100, die mit Bezug auf 1 beschrieben wurden. Beim Schritt 302 wird der Code für das BIOS 180, der in dem NVM 122 gespeichert ist, durch einen BIOS-Rücksetzungsvektor als Antwort zu einer Prozessor-Initialisierung oder Rücksetzung aktiviert. Obwohl der Prozessor zurückgesetzt wird, bleiben viele Komponenten des IHS 100 im Wesentlichen in dem gleichen Zustand wie vor dem Rücksetzen des Prozessors. Zum Beispiel werden die Inhalte der Interrupt-Vektoren des RAM 120 und das Aufladen von Gerätetreibern vor und nach dem Prozessorrücksetzen im Wesentlichen erhalten. Beim Schritt 304 läuft das BIOS 180 aus dem NVM 122. Beim Schritt 306 wird eine Feststellung getroffen, ob das IHS sich in einem warmen Neustartvorgang (warm reboot) befindet. In einem speziellen Ausführungsbeispiel ist Schritt 306 im Wesentlichen ähnlich zum Schritt 2162, der mit Bezug auf 2B beschrieben wurde. Beim Schritt 308 wird als Antwort zur Feststellung, dass das IHS 100 sich in einem warmen Neustartvorgang (warm reboot) befindet, eine Feststellung getroffen, ob ein RBU-Programm oder ein RCI nach einer Aktualisierung des BIOS fragt, zum Beispiel durch Überprüfen, ob das Aktualisierungsanfrage-Bit im AVNM 160 gesetzt ist. In einem speziellen Ausführungsbeispiel ist Schritt 308 im Wesentlichen ähnlich zum Schritt 2164, der mit Bezug auf 2B beschrieben wurde. Beim Schritt 310 wird als Antwort zur Feststellung, dass das RBU oder RCI eine Aktualisierung anfordert, eine Feststellung getroffen, ob das Speichergerät, das die Anfrage speichert, eine gültige Checksumme hat.
  • Beim Schritt 312 als Antwort zur Feststellung, dass das IHS 100 sich nicht in einem warmen Neustartvorgang (warm reboot) befindet, oder dass keine anhängige Anfrage für die Aktualisierung des BIOS existiert, oder dass es einen Checksummen-Fehler gibt, macht das BIOS weiter mit der üblichen POST-Sequenz, die den RAM 120 initialisiert und zum Aufladen des OS 135 zur Verfügung steht. Beim Schritt 314 nach der Überprüfung, dass das IHS 100 sich in einem warmen Neustartvorgang (warm reboot) befindet, und dass es eine anhängige Anfrage für die Aktualisierung des BIOS gibt und dass es keinen Checksummen-Fehler für das Speichergerät gibt, das den Indikator der anhängigen Anfrage speichert, überträgt das BIOS die Ausführung von dem NVM 122 zu dem bereits duplizierten BIOS-Code in dem RAM 120. Der BIOS-Code befindet sich bereits in dem RAM 120 aufgrund des warmen Neustarts (warm reboot). Das BIOS setzt einen Stapelspeicher (memory stack) in dem RAM 120 auf, um zusätzliche Operationen durchzuführen. Beim Schritt 316 werden Interrupt-Vektoren und/oder Interrupt-Controller neu initialisiert. In einem speziellen Ausführungsbeispiel ist Schritt 316 im Wesentlichen der gleiche wie der Schritt 2182, der mit Bezug auf 2C beschrieben wurde. Beim Schritt 318 werden Hardware-Interrupts und PCI-Bus-Master deaktiviert. In einem speziellen Ausführungsbeispiel ist Schritt 318 im Wesentlichen der gleiche wie die Kombination der Schritte 2184 und 2186, die mit Bezug auf 2C beschrieben wurden.
  • Beim Schritt 320 wird ein Videogerät neu aktiviert und ein Video-Interrupt (INT10h) wird zu dem Steuerungsprogramm (handler) aus dem letzten Starten (boot) wieder hergestellt, um die Benutzerfreundlichkeit zu verbessern. In einem speziellen Ausführungsbeispiel ist der Schritt 320 im Wesentlichen der gleiche wie der Schritt 2201, der mit Bezug auf 2D beschrieben wurde. Beim Schritt 322 wird eine Textmeldung dargestellt, die über den Aktualisierungsstatus informiert, und eine Checksumme wird auf dem RAM 120 durchgeführt, um die Integrität des aktualisierten Abbildes, das in dem RAM 120 gespeichert ist, zu überprüfen. Nach der Überprüfung der Checksumme wird das BIOS durch Kopieren der Inhalte des RAM 120 aktualisiert, wenn das aktualisierte Abbild in dem NVM 122 vorhanden ist. Beim Schritt 324 wird eine andere Textmeldung dargestellt, die einen Durchführungsstatus des BIOS anzeigt. Zusätzlich wird ein Aktualisierungsanfrage-Flag gelöscht, welcher anzeigt, dass keine anhängigen zusätzlichen Anfragen für die Aktualisierung des BIOS vorhanden sind und ein Fertigstellungscode wird dem RBU- oder RCI-Task zugeschickt, wenn er eine Aktualisierung anfordert. Beim Schritt 326 wird ein kalter Neustart (cold reboot) durchgeführt und ermöglicht dadurch dem aktualisierten BIOS, aus dem NVM 122 geladen zu werden.
  • Verschiedene Schritte, die oben beschrieben wurden, können hinzugefügt, ausgelassen, kombiniert, geändert oder in unterschiedlicher Reihenfolge durchgeführt werden. Zum Beispiel könnte ein zusätzlicher Schritt vor dem Schritt 302 hinzugefügt werden, um einen UPS dem IHS 100 bereitzustellen. Das UPS kann die Fertigstellung der Aktualisierungsaufgabe des BIOS 180 in dem Fall eines Stromversagens während des Aktualisierungsprozesses des NVM vorteilhaft sicherstellen.

Claims (15)

  1. Verfahren zum Aktualisieren eines nicht-flüchtigen Speichers (non volatile memory, NVM), der in einem Informationsverarbeitungssystem (information handling system, IHS) enthalten ist, wobei das Verfahren umfasst: Überprüfen einer Mehrzahl von Bedingungen, die das Aktualisieren des NVM aus einem Speicher des IHS ermöglichen, wobei das Überprüfen der Mehrzahl von Bedingungen umfasst: Überprüfen eines warmen Neustart-Status (warm reboot status) des IHS; Überprüfen eines Aktualisierungsanfrage-Bits, das in einem anderen nicht-flüchtigem Speicher (another non-volatile memory (ANVM)) des IHS gesetzt ist, wobei das Aktualisierungsanfrage-Bit eine anhängige Anfrage zum Aktualisieren des NVM aus dem Speicher anzeigt; und Überprüfen eines Fehlersummen-Fehlerstatus des ANVM; Beibehalten von Inhalten des Speichers, wobei das Beibehalten umfasst: Initialisieren von Interrupts, die in der Lage sind, das Aktualisieren zu unterbrechen; Deaktivieren der Interrupts, um eine Unterbrechung des Aktualisierens zu vermeiden; und Deaktivieren eines Bus-Masters, der in der Lage ist, die Inhalte des Speichers zu ändern; Aktualisieren des NVM aus dem Speicher; und Rücksetzen des IHS als Antwort auf das Aktualisieren durch das Aktivieren eines kalten Neustarts (cold reboot).
  2. Verfahren gemäß Anspruch 1, wobei das Überprüfen des warmen Neustart-Status durchgeführt wird durch: Auslesen einer vordefinierten Stelle im Speicher; und Überprüfen einer Übereinstimmung zwischen Inhalten, die an der vordefinierten Stelle gespeichert sind, und vordefinierten Daten.
  3. Verfahren gemäß Anspruch 1 ferner aufweisend: Bereitstellen einer Benutzerschnittstelle, wobei die Benutzerschnittstelle vor dem Aktualisieren bereitgestellt wird; und Bereitstellen einer Ausgabe über die Benutzerschnittstelle, wobei die Ausgabe den Status der Fertigstellung der Aktualisierung anzeigt.
  4. Verfahren gemäß Anspruch 3\, wobei das Bereitstellen der Benutzerschnittstelle umfasst: Aktivieren eines Anzeigegerätes; und Aktivieren eines Video-Interrupts.
  5. Verfahren gemäß Anspruch \1, wobei das Aktualisieren des NVM unabhängig von einem in dem IHS enthaltenen Chipsatz ist.
  6. Verfahren gemäß Anspruch 1, ferner aufweisend: Rücksetzen eines Prozessors des IHS, wobei das Rücksetzen des Prozessors das Überprüfen der Mehrzahl der Bedingungen verursacht.
  7. Verfahren gemäß Anspruch 1, wobei ein Anwendungsprogramm, das in dem IHS enthalten ist, ausführbar ist zum: Bereitstellen eines aktualisierten Abbildes für den NVM; Speichern des aktualisierten Abbildes im Speicher; und Rücksetzen eines Prozessors des IHS, um das Aktualisieren des NVM einzuleiten.
  8. Verfahren gemäß Anspruch 7, wobei das aktualisierte Abbild die aktualisierte Konfiguration des IHS umfasst.
  9. Verfahren gemäß Anspruch 7, wobei das Aktualisieren des NVM umfasst: Validieren der Integrität des Speichers; Dekomprimieren des aktualisierten Abbildes im Speicher; Speichern des aktualisierten Abbildes im NVM; Einstellen eines Rückantwortcodes für das Anwendungsprogramm; Bereitstellen einer Ausgabe des Fertigstellungsstatus; und Rücksetzen von zumindest einer der Mehrzahl von Bedingungen.
  10. Verfahren gemäß Anspruch 1, wobei der kalte Neustart (cold reboot) des IHS es ermöglicht, dass die Aktualisierungen, die an dem NVM gemacht wurden, wirksam werden.
  11. Ein Informationsverarbeitungssystem (information handling system (IHS)) aufweisend: einen Prozessor; einen Bus, der mit dem Prozessor gekoppelt ist; einen Speicher, der mit dem Bus gekoppelt ist; einen NVM, der mit dem Bus gekoppelt ist; und ein grundlegendes Eingangs-/Ausgangs-System (basic input output system BIOS), das in der Lage ist, den NVM zu aktualisieren, wobei das BIOS Befehle einschließt zum: Überprüfen einer Mehrzahl von Bedingungen, die die Aktualisierung des NVM aus dem Speicher ermöglichen, wobei die Mehrzahl von Bedingungen umfasst: einen warmen Neustart-Status ein Aktualisierungsanfrage-Bit, das in einem nicht-flüchtigen Speicher (another non-volatile memory (ANVM)) gesetzt ist, der an den Bus gekoppelt ist, wobei das Aktualisierungsanfrage-Bit eine anhängige Anfrage zum Aktualisieren des NVM aus dem Speicher anzeigt; und Überprüfen eines Fehlersummen-Fehlerstatus des ANVM; Beibehalten von Inhalten des Speichers, wobei das Beibehalten umfasst: Initialisieren von Interrupts, die in der Lage sind, das Aktualisieren zu unterbrechen; Deaktivieren der Interrupts, um eine Unterbrechung des Aktualisierens zu vermeiden; und Deaktivieren eines Bus-Masters, der in der Lage ist, die Inhalte des Speichers zu ändern; Aktualisieren des NVM aus dem Speicher; und Rücksetzen des Prozessors durch Aktivieren eines kalten Neustarts (cold reboot);.
  12. System gemäß Anspruch 11, wobei die Befehle im Wesentlichen unabhängig von einem in dem IHS enthaltenen Chipsatz sind.
  13. System gemäß Anspruch 11, wobei der warme-Neustart-Status festgestellt wird durch Lesen einer vordefinierten Stelle im Speicher und Feststellen, ob Inhalte, die an der vordefinierten Stelle gespeichert sind, mit vordefinierten Daten übereinstimmen.
  14. System gemäß Anspruch 11 ferner aufweisend: eine Benutzerschnittstelle, die mit dem Bus gekoppelt ist, wobei die Benutzerschnittstelle vor dem Aktualisieren bereitgestellt wird; und eine Ausgabe über die Benutzerschnittstelle, wobei die Ausgabe den Status der Fertigstellung der Aktualisierung anzeigt.
  15. System gemäß Anspruch 11, wobei ein Rücksetzen des Prozessors ein Ausführen der Befehle zur Aktualisierung des NVM verursacht.
DE102007012448.3A 2006-03-15 2007-03-15 Ein chipsatz-unabhängiges Verfahren für lokale Aktualisierung und Konfigurierung eines System-BIOS Active DE102007012448B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/375,766 US7500095B2 (en) 2006-03-15 2006-03-15 Chipset-independent method for locally and remotely updating and configuring system BIOS
US11/375,766 2006-03-15

Publications (2)

Publication Number Publication Date
DE102007012448A1 DE102007012448A1 (de) 2007-10-25
DE102007012448B4 true DE102007012448B4 (de) 2021-04-29

Family

ID=38008420

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102007012448.3A Active DE102007012448B4 (de) 2006-03-15 2007-03-15 Ein chipsatz-unabhängiges Verfahren für lokale Aktualisierung und Konfigurierung eines System-BIOS

Country Status (10)

Country Link
US (1) US7500095B2 (de)
CN (1) CN100561437C (de)
BR (1) BRPI0702326A (de)
DE (1) DE102007012448B4 (de)
FR (1) FR2898703A1 (de)
GB (2) GB2447802B (de)
HK (1) HK1110403A1 (de)
IE (1) IE20070176A1 (de)
SG (1) SG136069A1 (de)
TW (1) TWI335536B (de)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8898653B2 (en) * 2007-06-27 2014-11-25 International Business Machines Corporation Non-disruptive code update of a single processor in a multi-processor computing system
TWI366792B (en) 2008-01-16 2012-06-21 Asustek Comp Inc Booting method and computer system thereof
US7904708B2 (en) 2008-02-18 2011-03-08 Dell Products L.P. Remote management of UEFI BIOS settings and configuration
US8132253B2 (en) * 2008-04-21 2012-03-06 Dell Products L.P. Memory security override protection for manufacturability of information handling systems
EP2169545A1 (de) * 2008-09-26 2010-03-31 Moxa Inc. Eingebettetes System mit automatischer Softwareaktualisierung und Verfahren
TWI396135B (zh) * 2009-02-12 2013-05-11 Inventec Corp 基本輸入/輸出系統之設定方法
US8132055B2 (en) * 2009-11-20 2012-03-06 International Business Machines Corporation Operating system-firmware interface update recovery
US9836463B2 (en) 2010-11-29 2017-12-05 Dell Products, Lp System and method for expressing platform configuration dependencies for local and remote system management
US8522005B2 (en) 2010-11-29 2013-08-27 Dell Products, Lp System and method for mapping platform configuration human interface infrastructure data to system attributes for local and remote system management
TW201232401A (en) * 2011-01-20 2012-08-01 Elitegroup Computer Sys Co Ltd BIOS updating system and method, computer readable recording medium having BIOS updating program stored therein, and its computer program products
TWI459294B (zh) 2011-03-18 2014-11-01 Phoenix Tech Ltd Bios程式的更新方法與其電腦系統
JP5143259B2 (ja) * 2011-07-05 2013-02-13 株式会社東芝 電子機器、電子機器の制御方法、電子機器の制御プログラム
KR20130029995A (ko) * 2011-09-16 2013-03-26 삼성전자주식회사 화상형성장치 및 펌웨어 업그레이드 방법
US20140372745A1 (en) * 2012-01-30 2014-12-18 Richard Wei Chieh Yu Booting a server using a remote read-only memory image
TWI464583B (zh) * 2012-03-02 2014-12-11 Wistron Corp 取得觸發功能之指令的方法
CN102646045B (zh) * 2012-03-08 2016-02-10 杭州海康威视数字技术股份有限公司 多处理器系统及其并行启动方法
CN104205113B (zh) * 2012-03-30 2017-07-11 英特尔公司 向操作系统报告恶意活动
CN103365751A (zh) * 2012-04-09 2013-10-23 鸿富锦精密工业(深圳)有限公司 主板测试装置及其转接模组
CN104503798A (zh) * 2014-12-29 2015-04-08 杭州华三通信技术有限公司 服务器的配置方法及装置
US11157265B2 (en) * 2017-12-11 2021-10-26 Microsoft Technology Licensing, Llc Firmware update
CN108196868B (zh) * 2018-03-27 2021-10-22 联想(北京)有限公司 Bios升级方法和电子设备
US10691448B2 (en) * 2018-08-18 2020-06-23 Dell Products, L.P. Method and apparatus to execute BIOS firmware before committing to flash memory
KR102700420B1 (ko) * 2018-09-17 2024-08-30 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법
CN111258617B (zh) * 2019-12-31 2022-03-25 联想(北京)有限公司 一种电子设备
US11893379B2 (en) * 2020-05-15 2024-02-06 Intel Corporation Interface and warm reset path for memory device firmware upgrades
WO2022035426A1 (en) * 2020-08-11 2022-02-17 Hewlett-Packard Development Company, L.P. Application status reporting via platform binary tables

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6732267B1 (en) * 2000-09-11 2004-05-04 Dell Products L.P. System and method for performing remote BIOS updates
US20040193865A1 (en) * 2003-03-24 2004-09-30 Nguyen Tom Long Secure online BIOS update schemes

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0675502B1 (de) * 1989-04-13 2005-05-25 SanDisk Corporation EEPROM-System mit aus mehreren Chips bestehender Blocklöschung
US5421006A (en) * 1992-05-07 1995-05-30 Compaq Computer Corp. Method and apparatus for assessing integrity of computer system software
JP3328321B2 (ja) * 1992-06-22 2002-09-24 株式会社日立製作所 半導体記憶装置
US5465299A (en) * 1992-12-03 1995-11-07 Hitachi, Ltd. Electronic document processing system and method of forming digital signature
US5442704A (en) * 1994-01-14 1995-08-15 Bull Nh Information Systems Inc. Secure memory card with programmed controlled security access control
US5778070A (en) 1996-06-28 1998-07-07 Intel Corporation Method and apparatus for protecting flash memory
US6438688B1 (en) * 1999-03-24 2002-08-20 Dell Usa, L.P. Method and computer for locally and remotely updating a basic input output system (BIOS) utilizing one update file
US6671802B1 (en) 2000-04-13 2003-12-30 Hewlett-Packard Development Company, L.P. Performance optimization of computer system by dynamically and immediately updating a configuration setting based on detected change in preferred use
US7039799B2 (en) 2002-10-31 2006-05-02 Lsi Logic Corporation Methods and structure for BIOS reconfiguration
US7219343B2 (en) 2003-04-10 2007-05-15 International Business Machines Corporation Firmware update mechanism in a multi-node data processing system
JP2004348662A (ja) 2003-05-26 2004-12-09 Toshiba Corp 電子機器、電源制御装置および電源制御方法
US7117348B2 (en) 2003-06-27 2006-10-03 American Megatrends, Inc. Method and system for detecting the validity of configuration data
US7017040B2 (en) 2003-12-04 2006-03-21 Intel Corporation BIOS update file
US7363482B2 (en) * 2004-03-03 2008-04-22 Intel Corporation Method and apparatus to support remote configuration code
JP4870915B2 (ja) 2004-07-15 2012-02-08 株式会社日立製作所 ストレージ装置
US20070055968A1 (en) * 2005-09-07 2007-03-08 Rader Shawn T Reliable BIOS updates

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6732267B1 (en) * 2000-09-11 2004-05-04 Dell Products L.P. System and method for performing remote BIOS updates
US20040193865A1 (en) * 2003-03-24 2004-09-30 Nguyen Tom Long Secure online BIOS update schemes

Also Published As

Publication number Publication date
TW200813837A (en) 2008-03-16
GB0704921D0 (en) 2007-04-25
US20070220244A1 (en) 2007-09-20
US7500095B2 (en) 2009-03-03
IE20070176A1 (en) 2007-11-14
GB2436215A (en) 2007-09-19
GB2436215B (en) 2008-12-24
FR2898703A1 (fr) 2007-09-21
CN101038555A (zh) 2007-09-19
CN100561437C (zh) 2009-11-18
DE102007012448A1 (de) 2007-10-25
HK1110403A1 (en) 2008-07-11
GB2447802B (en) 2008-12-31
GB0809070D0 (en) 2008-06-25
SG136069A1 (en) 2007-10-29
GB2447802A (en) 2008-09-24
TWI335536B (en) 2011-01-01
BRPI0702326A (pt) 2007-12-18

Similar Documents

Publication Publication Date Title
DE102007012448B4 (de) Ein chipsatz-unabhängiges Verfahren für lokale Aktualisierung und Konfigurierung eines System-BIOS
DE102007048920B4 (de) System und Verfahren zum Kommunizieren von Informationen zwischen einer Mehrzahl von Informationsverarbeitungssystemen
DE60217394T2 (de) Methode und system zur parallelen ausführung von interrupt-routinen in einer smi- und pmi-basierten verteilungs- und ausführungsumgebung
DE112009002207B4 (de) Aktualisieren einer Firmware mit mehreren Prozessoren
DE112012005118T5 (de) Sichern von Firmware während der Initialisierung einer Einheit
DE69027164T2 (de) Ladeverfahren und Ladegerät für ein Rechnersystem
DE69727407T2 (de) Verteilte Ausführung von modusungeeigneten Befehlen in Multiprozessorsysteme
DE102020133738A1 (de) Firmware-update-techniken
DE102004049454B4 (de) Verfahren zur Benutzung von Featuremarkern zur Bestimmung der Kompatibilität zwischen Bios-Revisionen und installierter Hardware bei der Flash-Aktualisierung
CN100489785C (zh) 用于动态激活处理器的方法和系统
DE10296798T5 (de) SMM-Lader und -Ausführungsmechanismus für Komponentensoftware für mehrere Architekturen
DE10255111A1 (de) System und Verfahren zum Laden von Firmware mit hoher Verfügbarkeit
DE112012005209T5 (de) Brückenfunktion zwischen Virtual Machine Monitor und Bare-Metal-Bootvorgang
DE112011103880T5 (de) Direktes Migrieren von Software-Abbildern mit Streaming-Technik
DE19918640A1 (de) Verfahren und System zum Liefern einer kundenspezifischen Softwareinstallation an ein Computersystem
DE112012005589T5 (de) Informationsverarbeitungsvorrichtung, Informationsverarbeitungsverfahren und Computerprogramm
DE102006048115A1 (de) System und Verfahren zum Aufzeichnen von behebbaren Fehlern
DE10393662T5 (de) Bereitstellen eines sicheren Ausführungsmodus in einer Preboot-Umgebung
DE102008062692A1 (de) Vorrichtung und Verfahren mit gesteuertem Schaltmodus
DE102020133809A1 (de) Schnittstelle und warm-rücksetzpfad für speichervorrichtungsfirmware-upgrades
DE102006026714A1 (de) Verfahren und System zum Aufrechterhalten eines Systemmanagement-BIOS
DE112016004297T5 (de) Technologien für mehrstufige virtualisierung
DE112004001887T5 (de) Optimierung der SMI-Handhabung und -Initialisierung
DE102018204864A1 (de) Technologie zum Ermöglichen eines schnellen Bootens mit einem schnellen und langsamen nichtflüchtigen Speicher
DE112016007336B4 (de) Informationsverarbeitungsvorrichtung, Vorrichtungszuweisungsverfahren undVorrichtungszuweisungsprogramm

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R016 Response to examination communication
R016 Response to examination communication
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0009445000

Ipc: G06F0008650000

R018 Grant decision by examination section/examining division
R020 Patent grant now final