DE4214184C2 - Computersystem mit einem nicht-flüchtigen Speicher und Verfahren zu dessen Aktualisierung - Google Patents

Computersystem mit einem nicht-flüchtigen Speicher und Verfahren zu dessen Aktualisierung

Info

Publication number
DE4214184C2
DE4214184C2 DE4214184A DE4214184A DE4214184C2 DE 4214184 C2 DE4214184 C2 DE 4214184C2 DE 4214184 A DE4214184 A DE 4214184A DE 4214184 A DE4214184 A DE 4214184A DE 4214184 C2 DE4214184 C2 DE 4214184C2
Authority
DE
Germany
Prior art keywords
bios
update
memory
area
computer system
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.)
Expired - Lifetime
Application number
DE4214184A
Other languages
English (en)
Other versions
DE4214184A1 (de
Inventor
Orville H Christeson
Douglas L Gabel
Sean T Murphy
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of DE4214184A1 publication Critical patent/DE4214184A1/de
Application granted granted Critical
Publication of DE4214184C2 publication Critical patent/DE4214184C2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running

Description

Die Erfindung betrifft ein Computersystem mit einem Prozessor und einem Flash-Speicher, wobei der Flash-Speicher BIOS-Befehle zum Aktualisieren des BIOS enthält, und ein Verfahren zum Aktualisieren eines in einem programmierbaren nicht-flüchtigen Halbleiterspeicherbauelement in einem Computer gespeicherten BIOS.
Viele bekannte Computersysteme sind üblicherweise zumindest mit einem Prozessor, einem Speicher mit wahlfreiem Zugriff (RAM) und einem Nur-Lese-Speicher (ROM) ausgestattet. Einige Systeme, beispielsweise verschiedene Taschenrechner, arbeiten nur mit einem Prozessor und einem ROM. ROM-Bauelemente stellen eine nicht-flüchtige Speicherart zur Verfügung, bei der die ge­ speicherten Informationen nicht zerstört werden, wenn das Com­ putersystem von der Stromversorgung entfernt wird.
Bekannte Computersysteme sind typischerweise mit einem An­ fangslader versehen (d. h. durch Einschalten zu initialisieren), wobei die im Inneren des Computersystems im ROM gespeicherte Verarbeitungslogik (d. h. Firmware) benutzt wird. Da der ROM nicht flüchtig ist, ist sichergestellt, daß die Firmware im ROM gültige Daten oder Befehle enthält; folglich können bekannte Computersyteme unter Benutzung der Firmware im ROM zuverlässig anfangsgeladen werden. Viele Computer haben erfolgreich diese Technik benutzt. Eines dieser Systeme ist der durch die IBM Corporation in Armonk, N. Y., entwickelte IBM PC. Bekannte Ver­ sionen des IBM PC benutzen ROM-Bauelemente zur Speicherung der Firmware oder eines Basis-Eingabe-Ausgabe-Steuersystems (BIOS). Das BIOS stellt die Verarbeitungslogik des Betriebssystems dar, die die unterste Ebene der Softwaresteuerung der Hardware und der Ressourcen des Computersystems zur Verfügung stellt. Die ROM-Speicherung kann außerdem für eine nicht-flüchtige Ablage von Netzwerkkonfigurationsdaten oder anwendungsspezifischen Da­ ten benutzt werden. Bekannte ROM-Bauelemente schließen die Grundform des Nur-Lese-Speichers (ROM), programmierbare Nur- Lese-Speicher (PROM) und löschbare programmierbare Nur-Lese- Speicher (EPROM) ein.
Obwohl ROM-basierte Computersysteme bisher sehr erfolgreich waren, gibt es eine Anzahl von Problemen bei der Benutzung die­ ser Bauelemente in einem Computersystem. Nur-Lese-Speicher müs­ sen vor ihrem Einbau in das System während der Herstellung und Montage des Computersystems mit einem BIOS und/oder Daten pro­ grammiert werden. Häufig ist der BIOS-ROM auf einer Systempla­ tine innerhalb des Computergehäuses installiert. Um die Firm­ ware eines ROM-basierten Computersystems zu ersetzen, zu modi­ fizieren oder zu aktualisieren, müssen das Computergehäuse ent­ fernt und die ROM-Bauelemente auf einer Systemplatine innerhalb des Computersystems herausgelöst und ersetzt oder umprogram­ miert werden. Dieses das Bauelement angreifende Verfahren des Ersetzens und Umprogrammierens des ROMs ist aus mehreren Grün­ den von Nachteil. Erstens muß das Ersetzen des ROM im allgemei­ nen manuell durch qualifiziertes Kundendienst- oder Computerre­ paraturpersonal ausgeführt werden; folglich neigt der Vorgang dazu, aufwendig und zeitraubend zu sein. Zweitens können selbst bei qualifiziertem technischen Personal Probleme während des Ersetzens des ROMs auftreten. Wenn Lötverbindungen notwendig sind, können existierende Verbindungen während des Verfahrens zerstört oder erweicht werden. Auch können elektrostatische Entladungen unbeabsichtigte Zerstörungen bei anderen Komponen­ ten auf der Leiterkarte während des Ersetzens des ROMs hervor­ rufen. Drittens können ROM-basierte Computersysteme nicht ein­ fach auf spezielle Anwendungen zugeschnitten werden. Ein sol­ ches den Kundenwünschen entsprechendes Zuschneiden schließt Mo­ difikationen für ein Arbeiten in nicht englischsprachigen Län­ dern ein. Um ein Computersystem durch Speicherung länderspezi­ fischer Daten in einem nicht-flüchtigen Speicher auf Kundenwün­ sche zurechtzuschneiden, muß ein Benutzer einen Nur-Lese-Speicher auf einer Leiterplatte im Computersystem programmieren und in­ stallieren. Aufgrund der bisherigen unkomfortablen ROM-Installationsprozedur ist der Benutzer nicht oder kaum in der Lage, sein Computersystem auf seine Ansprüche zurechtzuschneiden.
In dem US-Patent 4,663,707 wird beispielsweise vorgeschlagen, einen Teil des Anfangsladeprogramms in einem beschreibbaren nicht-flüchtigen Speicher zu speichern, wobei dieser Teil Konfigurationsinformationen enthält. Aus dem Artikel "Laptop Vendors Join the Flash Bandwagon" von Jack Shandle in "Electronics", November 1990, Seiten 52, 53 ist ein Computersystem bekannt, dessen BIOS in einem Flash-Speicher abgelegt ist. Ferner ist ein Programm zum Aktualisieren im Flash-Speicher gespeichert, wobei Vorkehrungen erwähnt sind, die vor einem Stromausfall während des Aktualisierungsablaufs schützen.
Aufgabe der Erfindung ist es, eine komfortable Aktualisierungsmöglichkeit für ein BIOS zur Verfügung zu stellen, bei der Vorkehrungen für eine Wiederherstellung bei Abspeicherung eines funktionsunfähigen BIOS, beispielsweise durch Stromausfall während der Aktualisierung, getroffen werden.
Diese Aufgabe wird erfindungsgemäß durch ein Computersystem mit den Merkmalen des Patentanspruchs 1 bzw. ein Verfahren mit den Merkmalen des Patentanspruchs 4 gelöst.
Die vorliegende Erfindung ist ein Computersystem, bei dem ein Teil der in einem nicht-flüchtigen Speicher gespeicherten Befehlscodes/Daten dynamisch geändert oder aktualisiert werden kann, ohne daß irgendeine Verkleidung oder Teile des Computer­ systems entfernt werden. Das Computersystem des bevorzugten Ausführungsbeispiels weist einen Bus zum Informationsaustausch, einen mit dem Bus gekoppelten Prozessor zur Informationsverar­ beitung, einen mit dem Bus gekoppelten RAM zur Speicherung von Informationen und Befehlen für den Prozessor, ein mit dem Bus zum Austausch von Informationen und Befehlsaufrufen für den Prozessor gekoppeltes Eingabegerät, wie beispielsweise ein al­ phanumerisches Eingabegerät oder ein Cursorsteuergerät, ein mit dem Bus gekoppeltes Anzeigegerät zur Anzeige von Information zu einem Computerbenutzer und ein mit dem Bus gekoppeltes Daten­ speichergerät, wie beispielsweise eine Magnetplatte oder ein Diskettenlaufwerk, zum Speichern von Informationen und Befeh­ len. Zusätzlich weist das Computersystem des bevorzugten Aus­ führungsbeispiels eine mit dem Bus gekoppelte Flash-Speicher­ baugruppe zur Speicherung nicht-flüchtiger Befehlscodes und Da­ ten auf. Bei Benutzung der Erfindung können die Inhalte des Flash-Speichers ohne eine Notwendigkeit zum Entfernen und/oder Ersetzen irgendeiner Hardwarekomponente des Computersystems ersetzt, geändert, aktualisiert oder umprogrammiert werden.
Der Flash-Speicher des bevorzugten Ausführungsbeispiels enthält vier getrennt lösch- und programmierbare nicht symme­ trische Speicherblöcke. Einer dieser vier Blöcke kann nach der Installation elektronisch gesperrt werden, um ein Löschen oder eine Änderung seines Inhalts zu verhindern. Diese Konfiguration gestattet der Verarbeitungslogik des Computersystems die Aktua­ lisierung oder Änderung irgendeines ausgewählten Speicherblocks ohne eine Beeinflussung der Inhalte der anderen Blöcke. Ein Speicherblock enthält ein normales BIOS. Das BIOS enthält Be­ fehle der Verarbeitungslogik, die durch den Prozessor ausge­ führt werden. Ein zusätzlicher BIOS-Bereich kann benutzt wer­ den, um den Speicherbereich des System-BIOS zu erweitern. Ein elektronisch geschützter (d. h. gesperrter) Bereich des Flash- Speichers wird zur Speicherung eines Wiederherstellungs-BIOS benutzt, welches für Wiederherstellungs-Operationen benutzt wird. Jeder dieser getrennt progammierbaren Bereiche des Flash- Speichers kann mit Hilfe eines dynamischen Aktualisiermechanis­ mus' geändert oder aktualisiert werden.
Um zu vermeiden, daß eine abgebrochene BIOS-Aktualisierung das Computersystem funktionsunfähig macht, arbeitet das Aktua­ lisierungsverfahren nach der Erfindung in zwei getrennten Be­ nutzerumgebungen: einem normalen Aktualisierungsmodus und einem Wiederherstellungs-Aktualisierungsmodus. Im normalen Aktuali­ sierungsmodus sind die Tastatur und die Videoausgabe des Computersystems zum Empfang von Befehlsaufrufen und zur Anzeige von Ergebnissen verfügbar. Der normale Aktualisierungsmodus schafft außerdem die Funktionalität zum Sichern, Überprüfen oder Aktualisieren der neben dem BIOS-Bereich zusätzlichen Be­ reiche des Flash-Speichers. Im Wiederherstellungs-Aktualisie­ rungsmodus kann nur der Bereich des System-BIOS aktualisiert werden. Der Wiederherstellungs-Aktualisierungsmodus wird be­ nutzt, wenn ein Benutzer das System nicht laden (booten) kann, weil das normale System-BIOS entweder infolge eines Stromver­ sorgungsfehlers während einer normalen BIOS-Aktualisierung oder aus anderen Gründen verfälscht wurde.
Eine bevorzugte Weiterbildung der Erfindung schließt außerdem Hardwaremittel zur Auswahl einer dieser zwei verfügbaren Aktualisierungsmoden ein. Im bevorzugten Ausführungsbeispiel sind diese Mittel zur Auswahl eines Aktualisierungsmodus als ein Jumper auf einer Leiterplatte im Computersystem implementiert.
Ist der Wiederherstellungsmodus mit Hilfe des Jumpers ge­ setzt, so kann der Prozessor des Computersystems durch Ein­ schalten oder Rücksetzen initialisiert werden. Beim Einschalten oder Rücksetzen springt der Prozessor an eine Stelle innerhalb des geschützten Wiederherstellungs-BIOS-Blocks. Auf diese Weise kann der Flash-Speicher in einem Wiederherstellungs-Modus durch Aktivieren der sich im Wiederherstellungs-BIOS-Block aufhalten­ den Verarbeitungslogik des Wiederherstellungsmodus umkonfigu­ riert werden. Folglich kann mit Hilfe der Modusauswahlmittel entweder ein normales System-BIOS oder ein Wiederherstellungs- BIOS aktiviert werden.
Bei Ausführung des normalen BIOS zeigt das dynamische Ak­ tualisierungsprogramm ein Menü von Optionen zur Auswahl durch den Benutzer an. Diese Optionen schließen ein: die Überprüfung eines Flash-Speicherbereichs, das Sichern eines ausgewählten Flash-Speicherbereichs, das Aktualisieren eines Flashbereichs und das Verlassen des Programms. Bei Benutzung dieser Kommandooptionen können die aktualisierbaren Bereiche des Flash-Spei­ chers den normalen System-BIOS-Bereich, einen für den Benutzer reservierten Bereich, einen Bereich für ein BIOS eines lokalen Netzwerks (LAN), einen SCSI-BIOS-Bereich, einen Videodatenbe­ reich, andere Hardware- oder Softwarespezifische BIOS- oder Daten-Bereiche oder einen Bereich des Flash-Speichers mit ir­ gendeiner anderen anwendungsspezifischen Verarbeitungslogik einschließen.
Folglich liefert die Erfindung Mittel zur Speicherung nicht-flüchtiger Befehlscodes und Daten in einem Computersy­ stem, wobei nicht-flüchtige Befehlscodes und Daten ohne Entfer­ nen irgendeines Teils vom Computersystem aktualisiert werden können. Die Erfindung liefert ferner ein Mittel zum Aktualisie­ ren eines ausgewählten Teils eines nicht-flüchtigen Speichers, während die anderen Teile unmodifiziert gelassen werden. Außer­ dem liefert die Erfindung ein Mittel zur Wiederherstellung im Falle eines Fehlers während der normalen Aktualisierungsproze­ dur des nicht-flüchtigen Speichers. Die Erfindung liefert auch Mittel zur Sicherung der aktuellen Inhalte des nicht-flüchtigen Speichers und zur Überprüfung des Inhalts der sich aktuell im nicht-flüchtigen Speicher aufhaltenden Befehlscodes und/oder Daten. Außerdem liefert die Erfindung Mittel zum Einbetten der Aktualisierungssteuerungssoftware in das System-BIOS, so daß die Aktualisierungssteuerungssoftware später ausgeblendet und zur Steuerung der Aktualisierungsprozedur des nicht-flüchtigen Speichers benutzt werden kann.
Im folgenden wird die Erfindung anhand eines in der Zeich­ nung dargestellten Ausführungsbeispiels näher erläutert. In der Zeichnung zeigen:
Fig. 1 eine Darstellung eines Computersystems;
Fig. 2 eine Darstellung der Speicherbelegung des BIOS in dem bei der Erfindung benutzten Flash-Spei­ cher;
Fig. 3A eine Speicherbelegung des BIOS während der nor­ malen Arbeitsweise;
Fig. 3B eine Darstellung der Speicherbelegung des BIOS während des Wiederherstellungs-Aktualisierungs­ modus;
Fig. 4 ein Blockdiagramm der Architektur der Verarbei­ tungslogik des dynamischen BIOS-Aktualisie­ rungsmechanismus; und
Fig. 5 und 6 Flußdiagramme der erfindungsgemäßen Ver­ arbeitungslogik der dynamischen BIOS-Aktuali­ sierung.
In Fig. 1 ist ein Blockdiagramm des Computersystems dargestellt. Das bevorzugte Ausführungsbeispiel der Erfindung wurde mit Hilfe eines durch den Anmelder der Erfindung herstellten Mikroprozessors 80386 realisiert. Für den Fachmann ist es jedoch klar, daß auch andere Prozessoren und Computersystemarchitekturen benutzt werden können. Im allgemei­ nen weisen solche in Fig. 1 dargestellten Computersysteme einen Bus 100 zum Austauschen von Informationen, einen mit dem Bus gekoppelten Prozessor 101 zum Verarbeiten von Informationen, einen mit dem Bus 100 gekoppelten RAM 102 zum Speichern von In­ formationen und Befehlen für den Prozessor 101, ein mit dem Bus 100 gekoppeltes Eingabegerät 104, wie beispielsweise ein alpha­ numerisches Eingabegerät oder ein Cursorsteuergerät, zum Aus­ tauschen von Informationen und Befehlsaufrufen mit dem Prozes­ sor 101, ein mit dem Bus 100 gekoppeltes Anzeigegerät 105 zum Anzeigen von Informationen für einen Computerbenutzer und ein mit dem Bus 100 gekoppeltes Datenspeichergerät 106, wie beispiels­ weise eine Magnetplatte und ein Diskettenlaufwerk, zur Speiche­ rung von Informationen und Befehlen.
Zusätzlich weist das Computersystem des bevorzugten Ausfüh­ rungsbeispiels eine mit dem Bus 100 gekoppelte Flash-Speicherbaugruppe 103 zum Speichern nicht-flüchtiger Befehlscodes und Daten auf. Die Flash-Speicherbaugruppe 103 stellt eine nicht- flüchtige Speicherart zur Verfügung, die nicht gelöscht wird, wenn die Spannungsversorgung des Computersystems abgeschaltet wird; deren Speicherinhalte jedoch gelöscht und umprogrammiert werden können. Flash-Speicher sind hinreichend bekannt. Die Ba­ sis-Eingabe-Ausgabe-Verarbeitungslogik (BIOS) des Computersy­ stems ist im Flash-Speicher 103 gespeichert. Zusätzlich können andere Systemsoftware- und anwendungsspezifische Parameter im Flash-Speicher 103 gespeichert sein. Beispielsweise kann ein Teil des Flash-Speichers zur Speicherung von Verarbeitungslogik für ein lokales Netzwerk (LAN) oder für ein SCSI-Interface be­ nutzt werden. Die folgenden Abschnitte beschreiben, wie Teile des Flash-Speichers 103 ersetzt, geändert oder umprogrammiert (d. h. aktualisiert) werden ohne die Notwendigkeit zum Entfernen und/oder Ersetzen irgendeiner Hardwarekomponente des Computer­ systems.
Gegenwärtig sind verschiedene Typen nicht-flüchtiger Spei­ cher bekannt, die ohne Entfernen des Bauelements von einer Lei­ terplatte, auf welcher das Bauelement installiert ist, umpro­ grammiert werden können. Eine Klasse umprogrammierbarer nicht- flüchtiger Speicher stellen die Flash-Speicher dar. Bekannt sind verschiedene Arten von Flash-Speichern. Mit Hilfe eines bestimmten Satzes elektrischer Signale können die Inhalte von Flash-Speichern gelöscht und mit neuen Daten umprogrammiert werden. Viele bekannte Flash-Speicher gestatten nur ein kom­ plettes Löschen und Umprogrammieren aller Speicherplätze des Bauelements. Andere Flash-Speicher sind jedoch eingeteilt in getrennt löschbare und programmierbare Speicherblöcke in einem einzelnen Flash-Speicher. Im bevorzugten Ausführungsbeispiel der Erfindung wird ein solcher partitionierter Flash-Speicher benutzt. Es wird ein Flash-Speicher mit der Bezeichnung 28F001BT benutzt, der durch den Anmelder der vorliegenden Er­ findung hergestellt wird. Für den Fachmann ist es klar, daß für die Erfindung andere Arten von umprogrammierbaren nicht-flüch­ tigen Speichern benutzt werden können. Eine Alternative zum Flash-Bauelement ist ein elektrisch löschbarer, programmierbarer Nur-Lese-Speicher (EEPROM).
Der im bevorzugten Ausführungsbeispiel benutzte Flash-Spei­ cher enthält vier getrennt lösch-/programmierbare nicht symme­ trische Speicherblöcke. Einer dieser vier Blöcke kann elektro­ nisch gesperrt werden, um ein Löschen oder Verändern des einmal installierten Inhalts zu verhindern. Diese Konfiguration ge­ stattet es der Verarbeitungslogik des Computersystems, irgend­ einen ausgewählten Speicherblock zu aktualisieren oder zu ver­ ändern, ohne die Inhalte der anderen Blöcke zu beeinflussen. In Fig. 2 sind verschiedene getrennt lösch-/programmierbare nicht symmetrische Blöcke des Flash-Speichers des bevorzugten Ausfüh­ rungsbeispiels dargestellt. Fig. 2 zeigt eine normale BIOS- Speicherbelegung 200 der Inhalte des Flash-Speichers. Das BIOS enthält Befehle der Verarbeitungslogik, die durch den Prozessor ausgeführt werden. Im bevorzugten Ausführungsbeispiel der Er­ findung ist der Prozessor des Computersystems ein Mikroprozes­ sor 80386. Wenn die Stromversorgung des Computersystems des be­ vorzugten Ausführungsbeispiels eingeschaltet wird, springt der Prozessor zu einer Anfangsadresse FFFF0H und beginnt mit der Ausführung. Um die Initialisierung des Computersystems zu be­ handeln, muß folglich das aktive System-BIOS die Adresse FFFF0H einschließen. Wie durch die in Fig. 2 dargestellte normale BIOS-Speicherbelegung 200 gezeigt wird, springt der Prozessor nach dem Einschalten oder Rücksetzen des Prozessors zu einem Speicherplatz (einer Adresse) innerhalb eines normalen System- BIOS 201. Die Verarbeitungslogik in dem Bereich 201 kann be­ nutzt werden, um die normale Initialisierung und Steuerfunktio­ nen des Computersystems zu behandeln. Der zusätzliche BIOS-Be­ reich 205 kann benutzt werden, um den Speicherbereich des Sy­ stem-BIOS zu erweitern.
Der elektronisch geschützte (d. h. gesperrte) Flash- Speicherbereich 202 ist ein Bereich zum Speichern eines für Wiederherstellungs-Operationen benutzten Wiederherstellungs- BIOS. Die Wiederherstellungs-Operation wird in weiter unten folgenden Abschnitten beschrieben. Der getrennt programmierbare Bereich 203 ist ein Speicherbereich, der für die Benutzung durch einen bestimmten Benutzer oder eine bestimmte Anwendung reserviert ist. Dieser Bereich kann benutzt werden, um die Ar­ beitsweise des Computersystems auf Kundenwünsche zuzuschneiden oder um die Funktionalität des System-BIOS zu erhöhen. Wie wei­ ter unten beschrieben, kann der getrennt programmierbare Bereich 203 LAN-Verarbeitungslogik, SCSI-Verarbeitungslogik, Videodaten oder Steuerlogik, andere Hardware- oder Software­ spezifische Daten oder irgendeine andere anwendungsspezifische Verarbeitungslogik in einem Bereich des Flash-Speichers enthalten. Wenn der getrennt programmierbare Bereich 203 LAN- oder SCSI-Logik enthält, wird das System-BIOS zur Abarbeitung dieser zusätzlichen Flash-Bereiche aktiviert, um das Computersystem von einem Netzwerk oder einem anderen externen Gerät aus zu laden. Der getrennt programmierbare Bereich 204 ist ein für eine Benutzung durch das System reservierter Bereich. Dieser Bereich kann ein zusätzlicher Überlaufbereich eines normalen System-BIOS sein. Jeder dieser separat programmierbaren Bereiche des Flash-Speichers kann mit Hilfe des unten beschriebenen dynamischen Aktualisierungsmechanismus der Erfindung verändert oder aktualisiert werden.
Ein Nachteil bei der Benutzung eines Flash-Speichers zum Speichern eines BIOS ist die Möglichkeit eines Stromversor­ gungsausfalls oder eines anderen Fehlers während des Aktuali­ sierungsprozesses. Das sich ergebende unvollständige oder zer­ störte BIOS würde das System funktionsunfähig machen. Um die Arbeitsfähigkeit des Computersystems nach einer abgebrochenen BIOS-Aktualisierung wiederherzustellen, müßten Teile des Com­ putersystems entfernt und umprogrammiert werden. Das Entfernen von Flash-Speicherbaugruppen kann zusätzlich dadurch kompli­ ziert werden, daß oberflächenmontierte Flash-Bauelemente be­ nutzt werden.
Um zu verhindern, daß eine abgebrochene BIOS-Aktualisierung das Computersystem funktionsunfähig macht, arbeitet das erfin­ dungsgemäße Aktualisierungsverfahren in zwei getrennten Benut­ zerumgebungen: einem normalen Aktualisierungsmodus und einem Wiederherstellungs-Aktualisierungsmodus. Der Hauptunterschied zwischen diesen beiden Umgebungen ist die Benutzerschnitt­ stelle. Im normalen Aktualisierungsmodus sind die Tastatur- und Videodienste des Computersystems für den Empfang von Befehls­ aufrufen und die Anzeige von Ergebnissen verfügbar. Bei Benut­ zen der robusten Benutzerschnittstelle der normalen Aktualisie­ rung kann der Benutzer eine Sicherungs-, Überprüfungs- oder Ak­ tualisierungs-Operation für den Flash-Speicher im einzelnen an­ geben. Der Benutzer kann auch die Dateien im einzelnen angeben, die von verschiedenen Quellen, wie beispielsweise einem Floppy- Disk-Laufwerk, einem Festplattenlaufwerk, einem Netzwerk oder einem Modem wiedergewonnen oder gesichert werden sollen. Die in einer wiedergewonnenen oder gesicherten Datei enthaltenen Daten können eine BIOS-Abbildung, Datenabbildung oder eine andere Speicherbildrepräsentation des Inhalts eines nicht-flüchtigen oder Flash-Speicherbereichs sein. Der normale Aktualisierungsmo­ dus schafft außerdem die Funktionalität zum Sichern, Überprüfen oder Aktualisieren anderer Bereiche des Flash-Speichers zusätz­ lich zu den BIOS-Bereichen.
Im Wiederherstellungs-Aktualisierungsmodus können nur die Bereiche des System-BIOS aktualisiert werden. Der Wiederher­ stellungs-Aktualisierungsmodus wird benutzt, wenn ein Benutzer das System nicht laden (booten) kann, weil das normale System- BIOS entweder infolge eines Stromausfalls während einer norma­ len BIOS-Aktualisierung oder aus irgendeinem anderen Grund zer­ stört wurde. In dieser Situation wird ein sich in dem geschütz­ ten Wiederherstellungs-BIOS-Block 202 (Fig. 2) aufhaltender getrennter Satz von Verarbeitungslogik allein für den Zweck der Aktualisierung des zerstörten normalen System-BIOS-Bereichs 201 ausgeführt. Um die durch die Verarbeitungslogik des Wiederher­ stellungs-BIOS belegte Speicherfläche zu reduzieren, wird nur ein minimaler Grad der Funktionalität zur Verfügung gestellt und keine Benutzerschnittstellen-Fähigkeit unterstützt. Die Ta­ statur- und Video-Dienste sind nicht verfügbar und es müssen vorgegebene Aktionen durch das Wiederherstellungs-BIOS ohne Be­ nutzerinteraktionen ausgeführt werden. Von einem Lautsprecher des Computersystem ausgegebene hörbare Piepcodes zeigen den Status der Programmierung des BIOS-Bereichs an.
Bei der normalen Arbeitsweise des Computersystems des be­ vorzugten Ausführungsbeispiels führt der Prozessor 101 anfäng­ lich Befehle aus dem normalen System-BIOS-Bereich 201 des Flash-Speichers 103 heraus aus. Nachfolgend kann ein vollständig ausgestattetes Betriebssystem vom Datenspeichergerät 106 in den RAM 102 eingelesen und ausgehend vom RAM 102 ausgeführt werden. Der Befehlscode des System-BIOS 201 kann außerdem für die Initialisierung und den normalen Zugriff zum Eingabegerät 104, zum Anzeigegerät 105 und zum Datenspeichergerät 106 benutzt werden. Sobald das vollständig ausgestattete Betriebssystem zum RAM 102 übertragen wurde und in ihm abläuft, kann auf andere ausführbare Anwendungsdateien und Datendateien im Datenspeichergerät 106 zugegriffen werden. Eine dieser ausführbaren Dateien ist das dynamische Aktualisierungsprogramm für den nicht-flüchtigen Speicher, das den größten Teil der Verarbeitungslogik für die dynamische Aktualisierung gemäß der Erfindung enthält. Die verbleibenden Teile der bei der Erfindung verwendeten Verarbeitungslogik hal­ ten sich in der Speicherabbildung selbst auf. Ebenfalls im Da­ tenspeichergerät 106 halten sich Speicherabbildungen enthal­ tende Dateien und eine Datei, die eine für Aktualisierungen im Wiederherstellungmodus benutzte vorgegebene Wiederherstellungs- BIOS-Abbildung enthält, auf. Eine Speicherabbildung, von wel­ cher eine BIOS-Abbildung ein spezieller Typ ist, sind die binären Inhalte des Zielbereichs der Aktualisierung in einen nicht-flüchtigen oder Flash-Speicher. Die Verarbeitungslogik zur dynamischen Aktualisierung kann durch die für einen Fach­ mann bekannten Mittel aktiviert und ausgeführt werden. Die so aktivierte Verarbeitungslogik für eine dynamische Aktualisie­ rung schließt die Logik zur Behandlung eines normalen Aktuali­ sierungsmodus und des Wiederherstellungs-Aktualisierungsmodus ein. Die Architektur und die Arbeitsweise der Verarbeitungslo­ gik zur dynamischen Aktualisierung wird im folgenden beschrie­ ben.
Wie bereits gesagt, arbeitet das bevorzugte Ausführungsbei­ spiel in zwei Grundmodi: einem normalen Aktualisierungsmodus und einem Wiederherstellungs-Aktualisierungsmodus. Die Erfin­ dung schließt auch die Hardwaremittel zur Auswahl eines dieser beiden verfügbaren Aktualisierungsmodi ein. Im bevorzugten Ausführungsbeispiel sind diese Mittel zur Auswahl eines Aktua­ lisierungsmodus als ein Jumper auf einer Leiterkarte im Com­ putersystem realisiert. Der Jumper wird zur Änderung der Adreß­ leitung 16 in einer Schnittstelle zum Flash-Speicher benutzt. Durch Setzen des Jumpers in eine erste Einstellung können die normale in Fig. 2 dargestellte BIOS-Speicherbelegung und das entsprechende normale BIOS-Aktualisierungshilfsprogramm benutzt werden. Wenn der Jumper in eine zweite Einstellung gesetzt wurde, ist die Wiederherstellungs-BIOS-Speicherbelegung konfi­ guriert und der Wiederherstellungs-Aktualisierungsmodus freige­ geben. Für den Fachmann ist es offensichtlich, daß auch andere Mittel zur Auswahl eines dieser beiden Modi in einem Computer­ system benutzt werden können, wie beispielsweise ein Schalter oder eine Drucktaste.
In den Fig. 3A und 3B ist die Wirkung des Jumpers beim Setzen des Wiederherstellungsmodus auf die Speicherkonfigura­ tion des Flash-Speichers dargestellt. In Fig. 3A veranschau­ licht eine normale BIOS-Speicherbelegung 200 die Konfiguration des Flash-Speichers, wenn der Jumper in der Stellung des normalen Modus gesetzt ist. Diese Konfiguration entspricht der oben beschriebenen und in Fig. 2 dargestellten. Beim Einschalten oder nach einem System-Rücksetzen springt der Prozessor an eine Stelle im normalen System-BIOS 201, die durch den Pfeil 311 in Fig. 3A angezeigt ist. Die Verarbeitungslogik im normalen Sy­ stem-BIOS 201 übernimmt dann die Steuerung und initialisiert das Computersystem für die normale Arbeitsweise. Wenn jedoch das normale System-BIOS 201 beispielsweise infolge einer abge­ brochenen BIOS-Aktualisierung zerstört wurde, wird die Ausfüh­ rung innerhalb des normalen BIOS 201 unvorhersehbar. Folglich wäre ohne die Möglichkeit eines Wiederherstellungsmodus das Computersystem mit einem zerstörten normalen System-BIOS 201 funktionsunfähig.
Wenn die Initialisierung des normalen System-BIOS 201 auf­ grund eines zerstörten BIOS 201 erfolglos ist, kann der Wieder­ herstellungsmodus durch Umschalten der Auswahlmittel (d. h. des Jumpers) ausgewählt werden. Im Wiederherstellungsmodus ist die Adreßleitung 16, die zur Adressierung von Speicherorten im Flash-Speicher benutzt wird, in einen komplementären Zustand geändert. Durch diese Änderung sind die untere und die obere Hälfte des Flash-Speichers logisch ausgetauscht. Folglich wird die Adresse FFFFFH auf den Speicherplatz EFFFFH und die Adresse F0000H auf den Speicher E0000H abgebildet. Die umgelegte Spei­ cherkonfiguration im Wiederherstellungsmodus ist in der in Fig. 3B dargestellten Wiederherstellungs-BIOS-Speicherbelegung dar­ gestellt. Im Wiederherstellungsmodus ist das normale System- BIOS 201 auf den Speicherbereich 301 der Wiederherstellungs- BIOS-Speicherbelegung umgelegt. In ähnlicher Weise ist der Wie­ derherstellungs-BIOS-Block 202 auf den Ort 302 der Wiederher­ stellungs-BIOS-Speicherbelegung 300 umgelegt. Die Speicherbe­ reiche 203, 204 und 205 sind ebenfalls auf die Plätze 303, 304 bzw. 305 umgelegt.
Sobald der Wiederherstellungsmodus mit Hilfe des Jumpers gesetzt ist und eine Wiederherstellungs-BIOS-Speicherbelegung wie in Fig. 3B dargestellt erreicht wurde, kann der Prozessor des Computersystems durch Einschalten oder Rücksetzen initiali­ siert werden. Beim Einschalten oder Rücksetzen springt der Pro­ zessor zu einem Ort in dem geschützten Wiederherstellungs-BIOS- Block 302, der durch den Pfeil 312 gezeigt ist. Auf diese Weise kann die Speicherbelegung des Flash-Bauelements in einem Wie­ derherstellungsmodus rekonfiguriert werden, wobei der Wieder­ herstellungsmodus die sich im Wiederherstellungs-BIOS-Block 302 aufhaltende Verarbeitungslogik aktiviert. Folglich kann mit Hilfe der Modusauswahlmittel entweder ein normales System-BIOS 201 oder ein Wiederherstellungs-BIOS 302 aktiviert werden. So­ bald entweder das normale BIOS oder das Wiederherstellungs-BIOS aktiviert ist, kann die erfindungsgemäße dynamische Verarbei­ tungslogik zum Aktualisieren des BIOS aus dem Datenspeicherge­ rät 106 wiedergewonnen und in den RAM 102 zur Ausführung durch den Prozessor 101 geladen werden. Für die dynamische Verarbei­ tungslogik zur Aktualisierung wird außerdem ein den Modus an­ zeigendes Datenfeld gesetzt. Diese Modusanzeige gibt im einzel­ nen an, ob das Computersystem in einem normalen oder einem Wie­ derherstellungsmodus arbeitet.
Sobald die erfindungsgemäße dynamische Aktualisierungs-Ver­ arbeitungslogik aktiviert ist, arbeitet sie in einer unten nä­ her beschriebenen und in den Flußdiagrammen der Fig. 5 und 6 dargestellten Art und Weise. Die dynamische Verarbeitungslogik zur Aktualisierung des BIOS stellt in Abhängigkeit davon, ob entweder ein normaler Modus oder ein Wiederherstellungs-Modus ausgewählt wurde, zwei Sätze von Merkmalen zur Verfügung. Im normalen Modus wird eine robuste Benutzerschnittstelle zur Ver­ fügung gestellt. Diese Schnittstelle schafft grafische Reprä­ sentationen für Auswahlmenüs, Dateiselektionen, Hilfsinforma­ tionen und Statusnachrichten zum Aktualisieren irgendeines Flash-Speicherbereichs einschließlich des System-BIOS-Speicher­ bereichs. Dieses Paket der grafischen Benutzerschnittstelle stellt Subroutinen zum Definieren und Anzeigen von farbigen Bildschirmanzeigen der Benutzerschnittstelle zur Verfügung. Dieses Paket unterstützt außerdem eine On-Line-Hilfe zur Unter­ stützung des Benutzers.
Im Wiederherstellungsmodus ist die Verarbeitungslogik zur Wiederherstellung des BIOS nur dazu bestimmt, die kritischen Abschnitte des Systems aufzubauen ohne den Vorteil der Konfigu­ rationsinformation. Das Wiederherstellungs-BIOS nimmt an, daß das normale System-BIOS zerstört wurde. Folglich ist die einzige Funktion des Wiederherstellungs-BIOS, das System an einem Punkt freizugeben, wo das normale System-BIOS in den Flash-Speicher geladen werden kann. Das Wiederherstellungs-BIOS wird nach dem Einschalten automatisch ohne die Möglichkeit eines Be­ nutzereingriffs ausgeführt. Von einem Lautsprecher des Com­ putersystems ausgegebene hörbare Piepcodes zeigen den Status der Programmierung des BIOS-Bereichs an. Das Wiederherstellungs-BIOS ist ein Subset des normalen BIOS.
Wenn das dynamische Aktualisierungsprogramm aus dem normalen BIOS heraus ausgeführt wird, zeigt es ein Menü von Optionen zur Auswahl durch den Benutzer an. Diese Optionen schließen ein: die Überprüfung eines Flash-Speicherbereichs, die Sicherung eines ausgewählten Flash-Speicherbereichs, die Aktualisierung eines Flash-Speicherbereichs und das Beenden. Dann korrespondiert das dynamische Aktualisierungsprogramm mit dem normalen System-BIOS, um die Bereiche des Flash-Speichers zu bestimmen, die für ein Lesen oder Schreiben verfügbar sind. Dann wird ein Submenü angezeigt, das die zum Lesen oder Schreiben verfügbaren Speicherbereiche anzeigt. Der Benutzer kann dann den Bereich von diesem Menü für eine Überprüfungs-, Sicherungs- oder Aktualisierungs-Operationen auswählen. Zusätzliche Menüs werden angezeigt, um den Benutzer zu veranlassen, Dateinamen für Sicherungs-/Überprüfungs-/Aktualisierungs-Operationen und für eine Überprüfung von Dateiinformationen vor einer Aktualisierung einzugeben. Außerdem werden zusätzliche Menüs benutzt, um dem Benutzer zusätzliche Informationen über eine gesicherte Dateiabbildung zur Verfügung zustellen. Die Operation wird dann ausgeführt und der Benutzer wird über den Status der Fer­ tigstellung der Operation informiert. Ein normaler Aktualisie­ rungsmodus kann zur Aktualisierung entweder des normalen Sy­ stem-BIOS-Bereichs 201 und 205, des für den Benutzer reservier­ ten Bereichs 203 oder des für das System reservierten Bereichs 204 benutzt werden. Diese Bereiche können entweder getrennt oder kombiniert aktualisiert werden. Der getrennt programmier­ bare Bereich 203 oder andere getrennt programmierbare Bereiche können LAN-Verarbeitungslogik, SCSI-Verarbeitungslogik, andere Netzwerklogik oder Daten, Videodaten oder Steuerlogik, andere hardware- oder softwarespezifische Logik oder Daten oder ir­ gendeine andere anwendungsspezfische Verarbeitungslogik in ei­ nem Bereich des Flash-Speichers enthalten. Die Bereiche 201 und 205 sind in demselben physikalischen Block enthalten und werden folglich gleichzeitig gelöscht.
Wie bereits oben erwähnt kann das dynamische Aktualisie­ rungsprogramm zur Aktualisierung irgendeines Bereichs des Flash-Speichers benutzt werden. Die Aktualisierung des normalen System-BIOS-Bereichs wurde oben beschrieben. Erweiterungen der Erfindung schließen die Aktualisierung des Bereichs 203 oder anderer getrennt programmierbarer Bereiche mit LAN-Verarbei­ tungslogik, SCSI-Verarbeitungslogik, Videodaten oder Steuerlo­ gik, anderer hardware- oder softwarespezifischer Logik oder Da­ ten oder irgendeiner anderen anwendungsspezifischen Verarbei­ tungslogik in einem Bereich des Flash-Speichers ein. Wenn eine LAN-Verarbeitungslogik, SCSI-Verarbeitungslogik oder Netz­ werklogik oder -daten enthaltender Flash-Speicherbereich aktua­ lisiert wird, kann das Computersystem für eine bestimmte Netz­ werkverbindung konfiguriert werden. In bekannten vernetzten Computersystemen ist ein Netzwerk-Lade-PROM für jedes spezielle Netzwerk notwendig. Es ist notwendig, die PROMs auszutauschen oder eine andere Netzwerkleiterkarte hinzuzufügen, um ein Com­ putersystem für ein bestimmtes Netzwerk umzukonfigurieren.
Durch Benutzung der Erfindung können andere Flash-Speicher­ bereiche neben dem System-BIOS-Bereich, wie beispielsweise der Bereich 203, mit LAN-Verarbeitungslogik, SCSI-Verarbeitungslo­ gik, anderer Netzwerklogik oder -daten, Videodaten oder Steuer­ logik, anderer hardware- oder softwarespezifischer Logik oder Daten oder irgendeiner anderen anwendungsspezifischen Verarbei­ tungslogik in einem Bereich des Flash-Speichers programmiert werden. Die Programmierung dieser nicht zur System-BIOS-Aktua­ lisierung gehörigen Bereiche wird mit Hilfe der gleichen dyna­ mischen Aktualisierungsverfahren ausgeführt, die für die Aktua­ lisierung des System-BIOS-Bereichs beschrieben wurden. Zusätz­ lich kann das System-BIOS so konfiguriert werden, daß der nicht zur System-BIOS-Aktualisierung gehörige Bereich beim Laden des Systems abgetastet wird, um zu ermitteln, ob der sich dort auf­ haltende Befehlscode ausgeführt werden soll, um das Computersy­ stem in einer anderen Art und Weise, beispielsweise von einem Netzwerk aus, zu laden (zu booten). Folglich kann die Realisie­ rung der dynamischen Aktualisierung eines nicht zum System-BIOS gehörigen Bereichs des Flash-Speichers einen zusätzlichen Schritt zum Freigeben des Abtastens des nicht zur System-BIOS- Aktualisierung gehörigen Bereiches durch das System-BIOS ein­ schließen.
Dieser Freigabeschritt kann auf verschiedene Weise ausge­ führt werden. Zunächst kann ein Hardwareschalter im Computersy­ stem oder eine bestimmte Tastenkombination zum Aktivieren des dem Programmieren des Bereichs folgenden Abtastens des aktuali­ sierten Bereichs vorgesehen sein. Ein alternatives Ausführungs­ beispiel des Freigabeschrittes sieht ein Aktualisieren des Sy­ stem-BIOS-Bereichs nach einem Aktualisieren des nicht zum Sy­ stem-BIOS gehörigen Bereichs vor. Beim Aktualisieren des Sy­ stem-BIOS-Bereichs kann ein Datenfeld gesetzt werden, das die Abtastung des nicht zum System-BIOS gehörigen Bereichs frei­ gibt. In einem dritten Ausführungsbeispiel kann das System-BIOS so konfiguriert sein, daß es stets den nicht zum System-BIOS gehörigen Bereich abtastet und hier den Befehlscode ausführt, wenn ein bestimmtes Datenmuster an einem festen Speicherplatz in dem nicht zum System-BIOS gehörigen Bereich erkannt wird. In jedem dieser Ausführungsbeispiele kann ein nicht zum System- BIOS gehöriger Bereich des Flash-Speichers aktualisiert werden, wobei die Notwendigkeit einer netzwerkspezifischen Hardware oder eines PROM-Bauelements beseitigt wird. Mit Hilfe des ak­ tualisierten, nicht zum System-BIOS gehörigen Bereichs kann ein Computersystem von einem Netzwerk aus geladen (gebootet) werden oder in einer Konfiguration ohne Disketten arbeiten.
In Fig. 4 ist die Architektur des dynamischen Aktualisie­ rungsprogramms der Erfindung dargestellt. Im bevorzugten Aus­ führungsbeispiel gibt es fünf getrennte Kompiliermodule (470, 471, 472, 473, 475), die miteinander verbunden sind, um das dy­ namische Aktualisierungsprogramm 490 der Erfindung zu bilden. Der Hauptverarbeitungsmodul 470 übernimmt die gesamte Steue­ rung, Entscheidungsbildung und die Schnittstellen zu den ver­ bleibenden vier Modulen. Der Speicherabbildungs-Schnittstellen­ modul 471 wird benutzt, um Speicherabbildungen zu bearbeiten (d. h. zu lesen und zu schreiben). Eine Speicherabbildung ist der binäre Inhalt des Zielbereichs im nicht-flüchtigen Spei­ cher. Speicherabbildungen werden von einem externen Speicherme­ dium, wie beispielsweise einem magnetischen Plattenlaufwerk, gelesen, welches eine Vielzahl von Speicherabbildungsdateien 479 enthält. Speicherabbildungen werden in Dateien 478 in dem externen Speichermedium zum dauerhaften Verbleib geschrieben. Die Speicherabbildungsdateien 479 enthalten jeweils einen Kopf­ teil mit verschiedenen Informationen über die Speicherabbil­ dung.
Um einen nicht-flüchtigen Speicherbereich zu aktualisieren, muß Aktualisierungslogik verwendet werden, die sich nicht in dem zu aktualisierenden nicht-flüchtigen Speicher aufhält. Wenn Logik benutzt würde, die sich in dem zu aktualisierenden nicht­ flüchtigen Speicher aufhält, könnte die Aktualisierungsoperation diese Logik ändern oder zerstören. Um das Ziel zu errei­ chen, keine hardwarespezifischen Prozeduren zu implementieren, ist es vorteilhaft, die notwendige Aktualisierungslogik in je­ der der zu aktualisierenden Speicherabbildungen 479 zu spei­ chern. Diese Aktualisierungslogik ist in den Speicherabbildun­ gen 479 in Form geschützter Softwareprozeduren gespeichert. Ein wichtiger Grund für die Speicherung der geschützten Prozeduren in den Speicherabbildungen 479 selbst ist die Zuteilung der hardwareabhängigen Befehlscodes zu den Speicherabbildungen 479, während die hardwareunabhängigen Befehlscodes in dem aus dem RAM heraus ausgeführten dynamischen Aktualisierungsprogramm 490 gehalten werden. Folglich kann das gleiche dynamische Aktuali­ sierungsprogramm 490 für viele verschiedene Hardwarekonfigura­ tionen benutzt werden, da die Aktualisierungslogik in jeder Speicherabbildung 479 die hardwarespezifischen Angelegenheiten handhabt. Wenn ein Benutzer eine Aktualisierungsoperation an­ fordert, fordert das dynamische Aktualisierungsprogramm 490 das normale System-BIOS 481 auf, diese Prozeduren in eine durch das dynamische Aktualisierungsprogramm 490 spezifizierte sichere RAM-Position zu speichern. Diese Arbeitsweise sichert, daß die Speicherabbildung selbst diese geschützten Prozeduren definiert und aufrechterhält und daß diese sich nicht in dem zu aktuali­ sierenden Adreßbereich während der Aktualisierungen des Flash- Speichers aufhalten. Der Modul der geschützten Aktualisierungs­ prozeduren 472 ist dafür verantwortlich, diese geschützten Pro­ zeduren von der Aktualisierungsspeicherabbildung 479 zu erhal­ ten und sie dem Hauptverarbeitungsmodul 470 des dynamischen Ak­ tualisierungsprogramms 490 zur Verfügung zu stellen.
Der Videoschnittstellenmodul 473 führt alle geforderten In­ teraktionen mit dem Videoanzeigegerät 474 aus. Diese Interak­ tionen schließen die Anzeige von Menüs, bestimmten Fehlernach­ richten und Statusnachrichten und das Erlangen der geforderten Informationen über die Orte der Speicherabbildung (d. h. Datei­ namen) ein. Benutzertastatur-Eingabemittel 480 sind ebenfalls zum Empfangen von Benutzereingaben und Befehlsaufrufen vorgese­ hen. Der Flash-Interfacemodul 475 stellt eine Brücke zwischen einem Satz ungeschützter BIOS-Prozeduren 476 und dem Hauptver­ arbeitungsmodul 470 zu Verfügung. Die ungeschützten BIOS-Proze­ duren 476, wie beispielweise "Lies den Flash-Speicher" erfor­ dern nicht die Benutzung der früher definierten geschützten Prozeduren. Auf diese ungeschützten BIOS-Prozeduren 476 wird über ein Prozessor-Interrupt (INT 15) zugegriffen, wobei ein Zugriff auf den Flash-Speicher 477 zur Verfügung gestellt wird. Die Schnittstellenspezifikationen sowohl für die geschützten als auch für die ungeschützten Prozeduren werden am Ende der Beschreibung geliefert.
ARBEITSWEISE DES BEVORZUGTEN AUSFÜHRUNGSBEISPIELS
Die Verarbeitungslogik des dynamischen Aktualisierungspro­ gramms des bevorzugten Ausführungsbeispiels ist betriebsfähig im RAM 102 angeordnet und wird durch den Prozessor 101 des oben beschriebenen Computersystems ausgeführt. Die erfindungsgemäße Verarbeitungslogik kann in äquivalenter Weise in anderen Spei­ chermitteln, auf die der Prozessor 101 zur Ausführung zugreifen kann, angeordnet sein. Die Verarbeitungslogik des dynamischen Aktualisierungsprogramms 490 kann eine getrennt kompilierte und geladene Einheit sein oder als ein Teil in ein größeres Softwa­ resystem eingegliedert werden. In jedem Falle können Mittel zum Aktivieren der erfindungsgemäßen Verarbeitungslogik mit Hilfe der oben beschriebenen Techniken ausgeführt werden. Sobald sie aktiviert wurde, arbeitet die erfindungsgemäße Verarbeitungslo­ gik in der unten beschriebenen und in den Flußdiagrammen der Fig. 5 und 6 dargestellten Weise.
Wie in Fig. 5 dargestellt, startet das erfindungsgemäße dy­ namische Aktualisierungsprogramm bei seiner Aktivierung am Block 501. Am Entscheidungsblock 502 wird ein Test ausgeführt, um zu bestimmen, ob der normale oder der Wiederherstellungs-Mo­ dus ausgewählt wurde. Wie zuvor beschrieben setzen sowohl das normale BIOS als auch das Wiederherstellungs-BIOS ein den Modus anzeigendes Datenfeld, wenn eines der BIOS aktiviert wurde. Durch Zugriff auf dieses Datenfeld kann im Entscheidungsblock 502 der aktive Modus bestimmt werden. Wurde der Wiederherstel­ lungs-Modus ausgewählt, wird der Verarbeitungspfad 503 zum Ver­ arbeitungsblock 505 beschritten, wo eine vorgegebene normale System-BIOS-Abbildung aus dem Datenspeichergerät wiedergewon­ nen, d. h. in den RAM eingelesen wird. Als nächstes wird auf das Wiederherstellungs-BIOS zugegriffen, um die geschützten BIOS- Aktualisierungs-Prozeduren wiederzugewinnen (Verarbeitungsblock 506). Die in Block 506 wiedergewonnenen (retrieved) geschützten Prozeduren schließen eine Prozedur zum Löschen des BIOS und eine Prozedur zum Programmieren des BIOS ein. Als nächstes wird das Computersystem auf die Löschung und Programmierung des Flash-Speichers vorbereitet (Verarbeitungsblock 535). Die Vor­ bereitung des Computersystems auf das Löschen und die Program­ mierung des Flash-Speichers schließt Operationen zum Sperren der Cache- und Shadowing-Funktionen, zur Freigabe der Schreib­ operationen zum Flash-Speicher und andere hardwarespezifische Operationen ein. Sobald die geschützten Prozeduren wiedergewon­ nen und das Computersystem vorbereitet wurden, wird die Proze­ dur zum Löschen des BIOS aktiviert, um den normalen System- BIOS-Bereich im Flash-Speicher zu löschen. Sobald die Lösch- Operation beendet wurde, wird die Prozedur zum Programmieren des BIOS benutzt, um die vordefinierte BIOS-Abbildung in den normalen System-BIOS-Bereich des Flash-Speichers zu laden (Programmierblock 507). Wenn diese Operation abgeschlossen wurde, endet die Verarbeitungslogik des dynamischen Aktualisie­ rungsprogramms am Verarbeitungsblock 508. Der Benutzer wird durch einen vom Lautsprecher des Computersystems ausgegebenen hörbaren Piepcode über den Abschluß informiert. Nach Abschluß der Abarbeitung des Wiederherstellungs-Modus können der Jumper bzw. die Modusauswahlmittel zur Auswahlposition des normalen Modus zurückgeschaltet werden und das Computersystem kann er­ neut gestartet oder durch Einschalten initialisiert werden, um die Steuerung auf das frisch geladene normale System-BIOS im Flash-Speicher zu übertragen.
Wenn ein normaler Modus ausgewählt wurde, führt der Verar­ beitungspfad 504 vom Entscheidungsblock 502 zum Verarbeitungs­ block 510, wo ein Hauptmenü von normalen Aktualisierungsoptio­ nen dem Benutzer angezeigt wird. Diese Optionen schließen eine Operation zur Überprüfung eines Flash-Bereichs, eine Operation zum Sichern eines Flash-Bereichs, eine Operation zum Aktuali­ sieren eines Flash-Bereichs und eine Beendigungsoperation ein. Sobald ein Menü dem Benutzer präsentiert wird, wird im Verar­ beitungsblock 511 eine Menüauswahl vom Eingabegerät 104 gewon­ nen. Wenn die Beendigungsoperation ausgewählt wurde, führt vom Entscheidungsblock 512 der Verarbeitungspfad 513 zum Beendi­ gungsblock 515, wo die Ausführung des dynamischen Aktualisie­ rungsprogramms abgebrochen wird.
Wenn jedoch die Beendigungsoperation nicht ausgewählt wurde, wird der Verarbeitungspfad 514 zum Verarbeitungsblock 516 genommen, wo eine ungeschützte normale System-BIOS-Prozedur aktiviert wird, um die aktiven Flash-Bereiche des BIOS, die überprüft, gesichert oder aktualisiert werden können, zu gewin­ nen. Die aktiven Flash-Bereiche werden im Verarbeitungsblock 517 in einem sekundären Menü angezeigt. Der Benutzer wird wie­ derum aufgefordert, im Verarbeitungsblock 518 eine Menüauswahl über das Eingabegerät 104 zu treffen. Wenn eine Überprüfung ei­ nes Flash-Bereichs ausgewählt wurde, führt der Verarbeitungs­ pfad 520 zu dem in Fig. 6 dargestellten mit A bezeichneten Kreis. Wenn eine Operation zum Sichern eines Flash-Bereichs ausgewählt wurde, führt der Verarbeitungspfad 523 zu dem mit B bezeichneten Kreis in Fig. 6. Wenn eine Operation zum Aktuali­ sieren eines Flash-Bereichs ausgewählt wurde, führt in ähnli­ cher Weise der Verarbeitungspfad 526 zu dem mit C bezeichneten Kreis in Fig. 6. Wenn eine ungeeignete (d. h. Rückkehr zum Hauptmenü) Befehlsauswahl getroffen wurde, führt der Verarbei­ tungspfad 527 zum mit D bezeichneten Kreis, wo die Steuerung zum Verarbeitungsblock 510 zurückkehrt, wo das Hautmenü erneut dem Benutzer präsentiert wird.
In Fig. 6 ist die Verarbeitungslogik für jede der drei Flash-Speicherbereichs-Operationen dargestellt. Wenn eine Ope­ ration zum Überprüfen des Flash-Speichers ausgewählt wurde, wird die Verarbeitungslogik unter dem mit A bezeichneten Kreis ausgeführt. Im Verarbeitungsblock 601 wird der Benutzer auf­ gefordert, den Namen einer Datei einzugeben, die mit dem spezi­ fizierten Flash-Speicherbereich verglichen werden soll. Wenn eine einzelne Datei nicht groß genug ist, um den gesamten In­ halt des spezifizierten Flash-Speicherbereichs zu enthalten, können verschiedene Dateien, die Teile der Flash-Datenver­ gleichsabbildung enthalten, miteinander verkettet werden, wobei eine bekannte Dateiverkettungstechnik angewendet wird. In der Schleife zwischen dem Verarbeitungsblock 602 und dem Entschei­ dungsblock 604 werden die Inhalte der Vergleichsdatei oder der verketteten Dateien gelesen und mit den Inhalten des spezifi­ zierten Flash-Speicherbereichs verglichen. Wenn Differenzen ge­ funden werden, wird die Schleife mit einem Überprüfungs-Fehler beendet. Das Überprüfungsverfahren wird fortgesetzt, bis der gesamte Inhalt der Vergleichsdatei und der zugeordneten verket­ teten Dateien mit den Inhalten des gewählten Flash-Speicherbe­ reichs verglichen wurde. Wenn die Überprüfung vollständig ist, führt der Verarbeitungspfad 606 zum Verarbeitungsblock 607, wo die Vergleichsergebnisse dem Benutzer angezeigt werden. Die Verarbeitung wird dann an dem in Fig. 5 dargestellten mit E be­ zeichneten Kreis fortgesetzt, wo der Bediener zur nächsten Be­ fehlsauswahl aufgefordert wird.
In Fig. 6 wiederum ist unter dem mit B bezeichneten Kreis die mit dem Kommando zum Sichern eines Flash-Speicherbereichs verbundene Verarbeitungslogik dargestellt. Wenn der Benutzer ein Kommando zum Sichern eines Flash-Speicherbereichs auswählt, wird die Verarbeitungssteuerung an den Verarbeitungsblock 608 übergeben, wo der Benutzer zur Eingabe eines Namens einer Datei aufgefordert wird, welche zur Speicherung des ausgewählten Flash-Speicherbereichs benutzt werden soll. Mehrere Dateien können mit Hilfe bekannter Techniken miteinander verkettet wer­ den, wenn eine einzelne Datei nicht groß genug ist, um den ge­ samten ausgewählten Flash-Speicherbereich zu speichern. An­ schließend wird eine Schleife zwischen dem Verarbeitungsblock 609 und dem Entscheidungsblock 611 initialisiert, wo die In­ halte des ausgewählten Flash-Speicherbereichs gelesen (Verarbeitungsblock 609) und dann in die spezifizierte Datei oder die verketteten Dateien geschrieben (Verarbeitungsblock 610) werden. Die Sicherungsoperation wird fortgesetzt, bis der gesamte Inhalt des ausgewählten Flash-Speicherbereichs in die spezifizierte Datei oder die Dateien übertragen wurde. Wenn dies der Fall ist, führt der Verarbeitungspfad 613 zum Verar­ beitungsblock 614, wo der Status der Sicherungsoperation dem Benutzer angezeigt wird. Die Verarbeitung wird dann an dem in Fig. 5 dargestellten mit E bezeichneten Kreis fortgesetzt, wo der Bediener zur Eingabe des nächsten Befehlsaufrufs aufgefor­ dert wird.
Wiederum in Fig. 6 ist die Verarbeitungslogik des Kommandos zum Aktualisieren des Flash-Bereichs unter den mit C bezeichne­ ten Kreis dargestellt. Wenn das Kommando zum Aktualisieren des Flash-Bereichs durch den Benutzer ausgewählt wurde, wird die Verarbeitungssteuerung an den Verarbeitungsblock 615 übertra­ gen, wo der Benutzer zur Eingabe eines Namens einer Datei auf­ gefordert wird, die eine Abbildung der Flash-Daten enthält, die in den spezifizierten Flash-Speicherbereich übertragen werden sollen. Damit die Aktualisierungs-Utility der Erfindung ver­ schiedene Computerkonfigurationen und Flash-Speicher handhaben kann, ist die Aktualisierungs-Verarbeitungslogik im normalen System-BIOS als geschützte Prozedur eingebettet. Das Computer­ system wird für die Löschung und Programmierung des Flash-Spei­ chers vorbereitet (Verarbeitungsblock 635). Der Flash-Speicher­ bereich wird im Verarbeitungsblock 636 gelöscht. Diese geschützten Prozeduren werden aus dem BIOS im Verarbeitungsblock 616 zur Benutzung durch die erfindungsgemäße dynamische Aktua­ lisierungs-Utility wiedergewonnen. Diese geschützten Aktuali­ sierungsprozeduren werden durch die dynamische Aktualisierungs- Utility benutzt, um die Inhalte der spezifizierten Datei oder der Dateien in die spezifizierten Flash-Speicherbereiche zu übertragen (Verarbeitungsblock 617). Die Aktualisierungsopera­ tion wird fortgesetzt, bis der gesamte Inhalt der spezifizier­ ten Datei zum spezifizierten Flash-Speicherbereich übertragen wurde. Wenn die Aktualisierung vollständig ist.
(Verarbeitungspfad 620) werden die Status-Ergebnisse der Aktua­ lisierungsoperationen dem Benutzer im Verarbeitungsblock 621 angezeigt. Wenn die Aktualisierung ein erneutes Laden des Com­ putersystems erfordert (Verarbeitungspfad 623), kann das gerade aktualisierte BIOS durch erneutes Anfangsladen des Computersy­ stems im Verarbeitungsblock 625 aktiviert werden. Wenn kein er­ neutes Laden erforderlich ist, führt der Verarbeitungspfad 624 zu dem in Fig. 5 dargestellten mit E bezeichneten Kreis, wo der Benutzer zur Eingabe einer neuen Kommandoauswahl aufgefordert wird.
Es wurde ein Computersystem beschrieben, bei dem ein Teil der in einem nicht-flüchtigen Speicher gespeicherten Befehlsco­ des/Daten dynamisch geändert oder aktualisiert werden kann, ohne Verkleidungen oder Teile vom Computersystem zu entfernen.
BIOS-PROZEDUREN DES FLASH-SPEICHERS A. Ungeschützte BIOS-Prozeduren
Die folgenden BIOS-Serviceaufrufe sind für die Flash-Speicher­ schnittstelle.
INTERRUPT = 15H
FUNKTION (AH) = 0DBH
SUBFUNKTIONEN (AL)
00H Lesen einen Flash-Speicherbereich
Eingabe:
DS = Segment des Ausgabedateikopfteils
SI = Offset des Ausgabedateikopfteils
ES = Segment des Puffers zum Platzieren der gelesenen Informationen
DI = Offset des Puffers zum Platzieren der gelesenen Informationen
Ausgabe:
AH = Statusausgabe
0 = erfolgreiches Lesen
1 = ungültige Eingabe
01H Berichten über Flash-Speicherbereiche
Eingabe:
CL = Logische Bereichsnummer (0-0FFh)
Ausgabe:
DI = Offset des Zeigers auf den 32-Byte-Bereich der Info-Struktur
ES = Segment des Zeigers auf den 32-Byte- Bereich der Info-Struktur
AH = Statusausgabe
0 = erfolgreich
1 = ungültige Eingabe
02H Empfangen der Größe der geschützten Prozedur
Eingabe:
keine
Ausgabe:
BX = Größe der geschützten Prozeduren in Bytes
03H Vorbereiten zum Flash-Löschen
Eingabe:
ES = Segment des Puffers zum Platzieren der geschützten Prozeduren
DI = Offset des Puffers zum Platzieren der geschützten Prozeduren
DS = Segment des Kopfteils der Eingabedatei
SI = Offset des Kopfteils der Eingabedatei
BX = Segment des Puffers für BIOS-Tabellen
DX = Offset des Puffers für BIOS-Tabellen
Ausgabe:
BX = Menge des durch das BIOS geforderten zu­ sätzlichen Speichers zum Abschließen der Operation
AH = Statusausgabe
0 = erfolgreicher Abschluß
1 = ungültige Eingabe
2 = ungültige Operation
3 = ungültige Größe
4 = ungültiger Datentyp
04H Ist der Wiederherstellungs-Modus aktiv?
Eingabe:
keine
Ausgabe:
BX = 0 = Wiederherstellungs-Modus aktiv nicht 0 = normaler Modus aktiv
AH = Statusausgabe
0 = erfolgreicher Abschluß
1 = Flash-Speicher wird von diesem System nicht unterstützt
B. Geschützte BIOS-Prozeduren
Auf die geschützten Prozeduren wird zugegriffen durch einen weiten Aufruf (far call) zu den Adressen, die in ES:DI durch den "Vorbereiten zum Löschen"-Interrupt-Aufruf zurückgegeben wurden und sie erfordern die folgenden Schnittstellen:
AL = 00H Lösche den Flash-Speicherbereich
Eingabe:
DS = Segment des Eingabedateikopfteils
SI = Offset des Eingabedateikopfteils
ES = Segment des zusätzlichen Speichers, der durch das BIOS angefordert wurde
DI = Offset des zusätzlichen Speichers, der durch das BIOS angefordert wurde
CH = Status
0 = normaler Modus
1 = Wiederherstellungs-Modus
BX = Segment des Puffers für BIOS-Tabellen
DX = Offset des Puffers für BIOS-Tabellen
Ausgabe:
AH = Statusausgabe
0 = erfolgreiches Lesen
1 = ungültige Eingabe
2 = Löschfehler
AL = 01H Programmiere den Flash-Speicherbereich
Eingabe:
CH = Status
0 = normaler Modus
1 = Wiederherstellungs-Modus
DS = Segment des Eingabedateikopfteils
SI = Offset des Eingabedateikopfteils
ES = Segment des zusätzlichen Speichers, der durch das BIOS angefordert wurde
DI = Offset des zusätzlichen Speichers, der durch das BIOS angefordert wurde.
BX = Segment des Puffers für BIOS-Tabellen
DX = Offset des Puffers für BIOS-Tabellen
Ausgabe:
AH = Statusausgabe
0 = erfolgreiches Lesen
1 = ungültige Eingabe
3 = Bereich nicht gelöscht
4 = Überprüfungsfehler

Claims (4)

1. Computersystem mit einem Prozessor (101) und einem mit dem Prozessor (101) gekoppelten programmierbaren Flash- Speicher (103) mit einem ersten (201; 301) und einem zweiten (202; 302) Abschnitt,
wobei der erste Abschnitt (201; 301) BIOS-Befehle für einen normalen Aktualisierungsmodus speichert, welche Be­ fehle zum Sichern, Überprüfen oder Aktualisieren von Spei­ cherbereichen des Flash-Speichers (103) einschließlich des zweiten Abschnitts (202; 302) umfassen, und
wobei der zweite Abschnitt (202; 302) BIOS-Befehle für einen Wiederherstellungs-Aktualisierungsmodus speichert, welche zum Starten des Computersystems und zum Aktualisieren des ersten Abschnitts (201; 301) erforderliche Befehle um­ fassen.
2. Computersystem nach Anspruch 1, gekennzeichnet durch eine Hardware-Einrichtung zum Auswählen entweder des norma­ len Aktualisierungsmodus oder des Wiederherstellungs-Aktua­ lisierungsmodus.
3. Computersystem nach Anspruch 2, dadurch gekennzeich­ net, daß die Hardware-Einrichtung einen Jumper umfaßt.
4. Verfahren zum Aktualisieren eines in einem program­ mierbaren nicht-flüchtigen Halbleiterspeicherbauelement in einem Computer gespeicherten BIOS, wobei:
zwei Teile des BIOS, ein normaler Aktualisierungsteil und ein Wiederherstellungs-Aktualisierungsteil, erzeugt wer­ den und jeder Teil in einem separaten Abschnitt des program­ mierbaren nicht-flüchtigen Halbleiterspeicherbauelements ge­ speichert wird;
eine Hardware-Einrichtung verwendet wird, um zwischen zwei Anfangslade-Modi umzuschalten;
zum Laden in einen RAM entweder der normale Aktualisie­ rungsteil des BIOS oder der Wiederherstellungs-Aktualisie­ rungsteil des BIOS in Abhängigkeit von der Einstellung der Hardware-Einrichtung ausgewählt wird;
der ausgewählte Teil des BIOS in den RAM geladen und ausgeführt wird; und
der nicht in den RAM geladene Teil des BIOS aktualisiert wird.
DE4214184A 1991-05-06 1992-04-30 Computersystem mit einem nicht-flüchtigen Speicher und Verfahren zu dessen Aktualisierung Expired - Lifetime DE4214184C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US69595291A 1991-05-06 1991-05-06

Publications (2)

Publication Number Publication Date
DE4214184A1 DE4214184A1 (de) 1992-11-12
DE4214184C2 true DE4214184C2 (de) 2002-11-21

Family

ID=24795113

Family Applications (1)

Application Number Title Priority Date Filing Date
DE4214184A Expired - Lifetime DE4214184C2 (de) 1991-05-06 1992-04-30 Computersystem mit einem nicht-flüchtigen Speicher und Verfahren zu dessen Aktualisierung

Country Status (4)

Country Link
US (1) US5579522A (de)
JP (1) JP3372964B2 (de)
DE (1) DE4214184C2 (de)
IT (1) IT1254937B (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6515680B1 (en) 1992-12-09 2003-02-04 Discovery Communications, Inc. Set top terminal for television delivery system
US6539548B1 (en) 1992-12-09 2003-03-25 Discovery Communications, Inc. Operations center for a television program packaging and delivery system

Families Citing this family (267)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5388267A (en) * 1991-05-29 1995-02-07 Dell Usa, L.P. Method and apparatus for updating and restoring system BIOS functions while maintaining BIOS integrity
US5473775A (en) * 1991-10-11 1995-12-05 Kabushiki Kaisha Toshiba Personal computer using flash memory as BIOS-ROM
US6131159A (en) * 1992-05-08 2000-10-10 Paradyne Corporation System for downloading programs
US6181335B1 (en) 1992-12-09 2001-01-30 Discovery Communications, Inc. Card for a set top terminal
US7168084B1 (en) 1992-12-09 2007-01-23 Sedna Patent Services, Llc Method and apparatus for targeting virtual objects
US9286294B2 (en) 1992-12-09 2016-03-15 Comcast Ip Holdings I, Llc Video and digital multimedia aggregator content suggestion engine
US5388083A (en) * 1993-03-26 1995-02-07 Cirrus Logic, Inc. Flash memory mass storage architecture
US5522076A (en) * 1993-05-13 1996-05-28 Kabushiki Kaisha Toshiba Computer system having BIOS (basic input/output system)-ROM (Read Only Memory) writing function
DE9313005U1 (de) * 1993-08-30 1995-01-05 Siemens Ag Elektronische Baugruppe mit wenigstens einer dezentralen Prozessoreinrichtung eines mehrprozessorgesteuerten Systems
GB2290890B (en) * 1994-06-29 1999-03-24 Mitsubishi Electric Corp Information processing system
US5864698A (en) * 1994-08-24 1999-01-26 Packard Bell Nec Disk based bios
JP2669365B2 (ja) * 1994-11-24 1997-10-27 日本電気株式会社 書換え可能なromファイル装置
US5568641A (en) * 1995-01-18 1996-10-22 Hewlett-Packard Company Powerfail durable flash EEPROM upgrade
GB9601900D0 (en) * 1996-01-31 1996-04-03 Neopost Ltd Electronic apparatus including a memory device and method of reprogramming the memory device
KR0172001B1 (ko) * 1995-12-05 1999-03-30 윤종용 바이오스 메모리의 재프로그램 장치 및 그 방법
US5822581A (en) * 1995-09-29 1998-10-13 Intel Corporation Method for CMOS configuration information storage and retrieval in flash
US5829013A (en) 1995-12-26 1998-10-27 Intel Corporation Memory manager to allow non-volatile memory to be used to supplement main memory
US5918047A (en) * 1996-01-26 1999-06-29 Texas Instruments Incorporated Initializing a processing system
US5701492A (en) * 1996-03-29 1997-12-23 Canon Kabushiki Kaisha Fail-safe flashing of EPROM
US6393561B1 (en) * 1996-04-11 2002-05-21 Hitachi, Ltd. Disk drive computer with programmable nonvolatile memory capable of rewriting a control program of the disk drive
US5802592A (en) * 1996-05-31 1998-09-01 International Business Machines Corporation System and method for protecting integrity of alterable ROM using digital signatures
US6449735B1 (en) 1996-07-01 2002-09-10 Intel Corporation Method and apparatus for providing improved diagnostic functions in a computer system
US5793943A (en) * 1996-07-29 1998-08-11 Micron Electronics, Inc. System for a primary BIOS ROM recovery in a dual BIOS ROM computer system
US5913056A (en) * 1996-09-25 1999-06-15 Eastman Kodak Company Remote programming of microprocessor equipment over a standard serial port
US5889987A (en) * 1996-09-30 1999-03-30 Intel Corporation Flexible non-volatile memory controller with boot block emulation
US6047373A (en) 1997-01-02 2000-04-04 Intel Corporation Method and apparatus for setting the operating parameters of a computer system
US6122733A (en) * 1997-01-02 2000-09-19 Intel Corporation Method and apparatus for updating a basic input/output system
US5922072A (en) * 1997-01-03 1999-07-13 Ncr Corporation Method and apparatus for creating alternate boot environments in a computer
US6560701B1 (en) * 1997-02-10 2003-05-06 International Business Machines Corporation Alternate boot record
US6311290B1 (en) * 1997-02-14 2001-10-30 Intel Corporation Methods of reliably allocating, de-allocating, re-allocating, and reclaiming objects in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture
US6182188B1 (en) * 1997-04-06 2001-01-30 Intel Corporation Method of performing reliable updates in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture
KR100298420B1 (ko) * 1997-03-10 2001-10-24 윤종용 롬바이오스의업데이트방법
US5940627A (en) * 1997-03-13 1999-08-17 Compaq Computer Corporation User selectable feature set for a flash ROM based peripheral
US6088759A (en) * 1997-04-06 2000-07-11 Intel Corporation Method of performing reliable updates in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture
KR100213102B1 (ko) * 1997-04-11 1999-08-02 윤종용 피씨카드를 이용한 휴대용 정보단말의 프로그램을 갱신하는 방법 및 그에 따른 장치
KR100258966B1 (ko) * 1997-05-02 2000-06-15 윤종용 시리얼 통신을 이용한 바이오스 업그레이드 방법
GB9713094D0 (en) * 1997-06-21 1997-08-27 Philips Electronics Nv Optical disc drive
KR19990019426A (ko) * 1997-08-29 1999-03-15 윤종용 플래쉬 메모리를 내장한 제어장치의 프로그램 관리방법
KR19990026189A (ko) * 1997-09-23 1999-04-15 윤종용 바이오스 롬의 업데이트 방법
JP3622444B2 (ja) * 1997-09-26 2005-02-23 ノーリツ鋼機株式会社 写真処理機及びその動作制御情報更新システム
JP2914360B2 (ja) * 1997-09-30 1999-06-28 ソニー株式会社 外部記憶装置及びデータ処理方法
US6374328B1 (en) * 1997-10-28 2002-04-16 Sony Corporation Generation computer with program-in-chips (PIC)
JPH11138918A (ja) * 1997-11-14 1999-05-25 Brother Ind Ltd 画像形成装置
DE19750365A1 (de) * 1997-11-14 1999-05-20 Bosch Gmbh Robert Verfahren zum Laden eines Programms und Datenverarbeitungsgerät
DE19751093A1 (de) * 1997-11-18 1999-05-27 Siemens Ag Programmgesteuerte Einheit
US6104875A (en) * 1997-12-18 2000-08-15 Honeywell Inc. Method for field programming an industrial process transmitter
US6119226A (en) * 1998-01-06 2000-09-12 Macronix International Co., Ltd. Memory supporting multiple address protocols
EP1058930B1 (de) * 1998-01-06 2009-06-03 Macronix International Co., Ltd. Ein multipeladdressenprotokoll unterstützender speicher
US6040997A (en) * 1998-03-25 2000-03-21 Lexar Media, Inc. Flash memory leveling architecture having no external latch
US6446184B2 (en) * 1998-04-28 2002-09-03 International Business Machines Corporation Address re-mapping for memory module using presence detect data
US6223284B1 (en) * 1998-04-30 2001-04-24 Compaq Computer Corporation Method and apparatus for remote ROM flashing and security management for a computer system
US6275931B1 (en) * 1998-06-22 2001-08-14 Elsag International N.V. Method and apparatus for upgrading firmware boot and main codes in a programmable memory
US6405311B1 (en) * 1998-07-28 2002-06-11 Compaq Computer Corporation Method for storing board revision
US6205548B1 (en) * 1998-07-31 2001-03-20 Intel Corporation Methods and apparatus for updating a nonvolatile memory
US6356965B1 (en) * 1998-09-08 2002-03-12 Compaq Computer Corporation Hotkey for network service boot
US6353854B1 (en) * 1998-10-01 2002-03-05 International Business Machines Corporation Automatic reconfiguration system for change in management servers having protocol destination addresses
US6122732A (en) * 1998-10-23 2000-09-19 Compaq Computer Corporation System management interrupt for a desktop management interface/system management basic input output system interface function
WO2000025208A1 (en) * 1998-10-28 2000-05-04 Zf Linux Devices, Inc. Processor system with fail safe bios configuration
US6275851B1 (en) 1998-12-07 2001-08-14 International Business Machines Corporation Data processing system and method for remotely controlling modification of a client's initialization settings
US6434695B1 (en) 1998-12-23 2002-08-13 Apple Computer, Inc. Computer operating system using compressed ROM image in RAM
US6549963B1 (en) * 1999-02-11 2003-04-15 Micron Technology, Inc. Method of configuring devices on a communications channel
US6507879B1 (en) 1999-02-11 2003-01-14 Micron Technology, Inc. Apparatus for configuration devices on a communications channel
JP3727485B2 (ja) 1999-04-02 2005-12-14 シャープ株式会社 不揮発性メモリ内蔵マイクロコンピュータ
IL129947A (en) * 1999-05-13 2003-06-24 Tadiran Telecom Business Syste Method and apparatus for downloading software into an embedded system
US6282647B1 (en) * 1999-06-02 2001-08-28 Adaptec, Inc. Method for flashing a read only memory (ROM) chip of a host adapter with updated option ROM bios code
US6374338B1 (en) * 1999-06-25 2002-04-16 International Business Machines Corporation Method for performing configuration tasks prior to and including memory configuration within a processor-based system
JP2003507813A (ja) * 1999-08-24 2003-02-25 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ プログラムとデータの両方を格納する不揮発性メモリを有するデータ処理装置
US6594723B1 (en) * 1999-09-07 2003-07-15 Microsoft Corporation Method and apparatus for updating data in nonvolatile memory
US6438668B1 (en) * 1999-09-30 2002-08-20 Apple Computer, Inc. Method and apparatus for reducing power consumption in a digital processing system
WO2001029762A2 (en) * 1999-10-20 2001-04-26 Spyrus, Inc. Method and system for an integrated circuit card interface device with multiple modes of operation
US6622243B1 (en) 1999-11-19 2003-09-16 Intel Corporation Method for securing CMOS configuration information in non-volatile memory
US6536038B1 (en) 1999-11-29 2003-03-18 Intel Corporation Dynamic update of non-upgradeable memory
US6449683B1 (en) * 1999-12-14 2002-09-10 Intel Corporation Using non-volatile memory for power management in a computer
US6769059B1 (en) 1999-12-17 2004-07-27 Intel Corporation System for updating computer's existing video BIOS without updating the whole computer's system BIOS
US6581159B1 (en) 1999-12-23 2003-06-17 Intel Corporation Secure method of updating bios by using a simply authenticated external module to further validate new firmware code
WO2001050261A2 (en) * 1999-12-29 2001-07-12 Sun Microsystems, Inc. Updating non volatile memory in a data processing system
AU782310B2 (en) * 2000-01-07 2005-07-21 Thomson Licensing S.A. Method and apparatus for backing up application code upon power failure during acode update
JP2001209543A (ja) 2000-01-28 2001-08-03 Nec Ic Microcomput Syst Ltd フラッシュ・マイコンにおけるプログラム書き換え方法
US6687815B1 (en) * 2000-02-01 2004-02-03 Sun Microsystems, Inc. Method and apparatus for storing non-volatile configuration information
US6615286B1 (en) 2000-02-14 2003-09-02 Intel Corporation Method and apparatus for updating device driver control data
US7213152B1 (en) * 2000-02-14 2007-05-01 Intel Corporation Modular bios update mechanism
TW461997B (en) * 2000-05-24 2001-11-01 Asustek Comp Inc Write protection method of programmable chipset software
US7069452B1 (en) * 2000-07-12 2006-06-27 International Business Machines Corporation Methods, systems and computer program products for secure firmware updates
US6976163B1 (en) 2000-07-12 2005-12-13 International Business Machines Corporation Methods, systems and computer program products for rule based firmware updates utilizing certificate extensions and certificates for use therein
US7539828B2 (en) * 2000-08-08 2009-05-26 Faronics Corporation Method and system for automatically preserving persistent storage
US6732267B1 (en) * 2000-09-11 2004-05-04 Dell Products L.P. System and method for performing remote BIOS updates
US6728875B1 (en) * 2000-11-09 2004-04-27 International Business Machines Corporation Network station suitable for identifying and prioritizing network adapters
US8875116B2 (en) * 2000-11-17 2014-10-28 Hewlett-Packard Development Company, L.P. Network for updating firmware and / or software in wireless communication devices
US6832373B2 (en) * 2000-11-17 2004-12-14 Bitfone Corporation System and method for updating and distributing information
US8479189B2 (en) 2000-11-17 2013-07-02 Hewlett-Packard Development Company, L.P. Pattern detection preprocessor in an electronic device update generation system
US7401320B2 (en) * 2000-11-17 2008-07-15 Hewlett-Packard Development Company, L.P. Operator network that routes customer care calls based on subscriber/device profile and CSR skill set
US8196130B2 (en) * 2000-11-17 2012-06-05 Hewlett-Packard Development Company, L.P. Tri-phase boot process in electronic devices
US7082549B2 (en) * 2000-11-17 2006-07-25 Bitfone Corporation Method for fault tolerant updating of an electronic device
US20040068721A1 (en) * 2000-11-17 2004-04-08 O'neill Patrick Network for updating firmware and / or software in wireless communication devices
US20030182414A1 (en) * 2003-05-13 2003-09-25 O'neill Patrick J. System and method for updating and distributing information
US7409685B2 (en) 2002-04-12 2008-08-05 Hewlett-Packard Development Company, L.P. Initialization and update of software and/or firmware in electronic devices
US6990444B2 (en) 2001-01-17 2006-01-24 International Business Machines Corporation Methods, systems, and computer program products for securely transforming an audio stream to encoded text
US7028184B2 (en) * 2001-01-17 2006-04-11 International Business Machines Corporation Technique for digitally notarizing a collection of data streams
JP2002244874A (ja) * 2001-02-15 2002-08-30 Toshiba Corp 情報処理装置およびファームウェア更新方法
US6976136B2 (en) 2001-05-07 2005-12-13 National Semiconductor Corporation Flash memory protection scheme for secured shared BIOS implementation in personal computers with an embedded controller
US6898705B2 (en) * 2001-05-31 2005-05-24 International Business Machines Corporation Automatic appliance server re-provision/re-purposing method
US7161899B2 (en) * 2001-07-20 2007-01-09 Bay Microsystems, Inc. Interlocking SONET/SDH network architecture
US7069431B2 (en) * 2001-07-31 2006-06-27 Lenovo ( Singapore) Pte Ltd. Recovery of a BIOS image
US7793326B2 (en) 2001-08-03 2010-09-07 Comcast Ip Holdings I, Llc Video and digital multimedia aggregator
US7908628B2 (en) 2001-08-03 2011-03-15 Comcast Ip Holdings I, Llc Video and digital multimedia aggregator content coding and formatting
US7165137B2 (en) 2001-08-06 2007-01-16 Sandisk Corporation System and method for booting from a non-volatile application and file storage device
US7281125B2 (en) * 2001-08-24 2007-10-09 Lenovo (Singapore) Pte. Ltd. Securing sensitive configuration data remotely
DE10141894A1 (de) * 2001-08-28 2003-06-26 Siemens Ag Vorrichtung für den Einsatz in Bussystemen
US20030046524A1 (en) * 2001-08-30 2003-03-06 Zimmer Vincent J. Method for dynamically designating initialization modules as recovery code
DE10146611A1 (de) * 2001-09-21 2003-04-10 Abb Patent Gmbh Busteilnehmergerät und Verfahren zur Änderung, Erweiterung und Fehlerkorrektur von blockweise gespeicherten Daten in einem Mikrocontroller eines Busteilnehmers
DE10146609A1 (de) * 2001-09-21 2003-04-10 Abb Patent Gmbh Busteilnehmergerät mit integriertem Flash-Speicher und Verfahren zur Änderung, Erweiterung und Fehlerkorrektur von in einem Mikrocontroller gespeicherten Daten
US6918062B2 (en) * 2001-09-28 2005-07-12 Intel Corporation System and method to implement a cost-effective remote system management mechanism using a serial communication controller and interrupts
TWI237759B (en) * 2001-10-04 2005-08-11 Via Tech Inc Method for data accessing in a computer and the computer thereof
GB2383441B (en) * 2001-12-24 2004-01-14 Inventec Corp Display system and method for bios updating
US6934873B2 (en) * 2002-02-28 2005-08-23 Dell Products L.P. Automatic BIOS recovery in a multi-node computer system
US7225363B2 (en) * 2002-03-18 2007-05-29 Sun Microsystems, Inc. Method and apparatus for abandoning an interrupted task
US20040194081A1 (en) * 2002-03-23 2004-09-30 Iyad Qumei Update system for facilitating firmware/software update in a mobile handset
US6792478B2 (en) 2002-03-29 2004-09-14 Intel Corporation System and method to configure input/output (IO) devices to use selected pairs of port addresses
US7369851B2 (en) * 2002-04-19 2008-05-06 Hewlett-Packard Development Company, L.P. Communications network capable of determining SIM card changes in electronic devices
US20030204633A1 (en) * 2002-04-30 2003-10-30 Compaq Information Technologies Group, L.P. Method and apparatus for updating operating instructions in a modem in a router
US6898651B2 (en) * 2002-05-10 2005-05-24 Intel Corporation Method, apparatus, and system for generating serial interrupt requests (IRQ) with power savings
US7039796B2 (en) * 2002-06-04 2006-05-02 Hewlett-Packard Development Company, L.P. Method and system of locating a position in memory at which to store incoming firmware image
US20030233534A1 (en) * 2002-06-12 2003-12-18 Adrian Bernhard Enhanced computer start-up methods
US20040025045A1 (en) * 2002-07-30 2004-02-05 Sentry Technologies Pte, Ltd. Method for switching rapidly between computing modes
US7305668B2 (en) * 2002-07-31 2007-12-04 Intel Corporation Secure method to perform computer system firmware updates
NZ520786A (en) * 2002-08-14 2005-06-24 Daniel James Oaeconnell Method of booting a computer system using a memory image of the post boot content of the system RAM memory
US7555750B1 (en) 2002-08-22 2009-06-30 Hewlett-Packard Development Company, L.P. Update package generator employing partial predictive mapping techniques for generating update packages for mobile handsets
US7340736B2 (en) * 2002-08-22 2008-03-04 Hewlett-Packard Development Company, L.P. Electronic device with an update agent that employs preprocessing techniques for update
US7185331B2 (en) * 2002-08-27 2007-02-27 Inrange Technologies Corporation Method and apparatus for downloading executable code in a non-disruptive manner
US7669197B1 (en) 2002-09-12 2010-02-23 Hewlett-Packard Development Company, L.P. Embedded system employing component architecture platform
US7472380B1 (en) 2002-09-23 2008-12-30 Hewlett-Packard Development Company, L.P. Processing system with component architecture platform support
US7082525B2 (en) 2002-10-02 2006-07-25 Sandisk Corporation Booting from non-linear memory
US7461372B2 (en) * 2002-10-11 2008-12-02 Hewlett-Packard Development Company, L.P. System for optimizing distribution of information employing a universal dictionary
US20040076043A1 (en) * 2002-10-21 2004-04-22 Phoenix Technologies Ltd. Reliable and secure updating and recovery of firmware from a mass storage device
US6978453B2 (en) * 2002-10-21 2005-12-20 Bitfone Corporation System with required enhancements to syncML DM environment to support firmware updates
JP3969278B2 (ja) * 2002-10-21 2007-09-05 株式会社デンソー 電子制御装置
US20040093592A1 (en) 2002-11-13 2004-05-13 Rao Bindu Rama Firmware update in electronic devices employing SIM card for saving metadata information
US7984435B2 (en) * 2002-11-13 2011-07-19 Hewlett-Packard Development Company, L.P. Update system employing reference software to reduce number of update packages
JP4128516B2 (ja) * 2002-11-18 2008-07-30 株式会社リコー 画像形成装置、プログラム更新方法
US7047448B2 (en) * 2002-11-21 2006-05-16 Bitfone Corporation Software self-repair toolkit for electronic devices
US6996818B2 (en) * 2002-11-22 2006-02-07 Bitfone Corporation Update system for facilitating software update and data conversion in an electronic device
US7434216B1 (en) 2002-11-25 2008-10-07 Hewlett-Packard Development Company, L.P. Update package generator that employs genetic evolution to determine bank order
JP2004199277A (ja) * 2002-12-17 2004-07-15 Fujitsu Ltd Biosの冗長管理方法、データ処理装置及びストレージシステム
WO2004061615A2 (en) * 2002-12-31 2004-07-22 Bitfone Corporation Management of service components installed in an electronic device in a mobile services network
US7890427B1 (en) 2003-01-09 2011-02-15 Hewlett-Packard Development Company, L.P. Authentication of notifications received in an electronic device in a mobile services network
US7480907B1 (en) 2003-01-09 2009-01-20 Hewlett-Packard Development Company, L.P. Mobile services network for update of firmware/software in mobile handsets
WO2004063899A2 (en) 2003-01-13 2004-07-29 Bitfone Corporation Mobile handset capable of updating its update agent
WO2004066091A2 (en) * 2003-01-21 2004-08-05 Bitfone Corporation Update system capable of updating software across multiple flash chips
EP1597668A4 (de) * 2003-02-11 2009-12-23 Hewlett Packard Development Co Elektronische vorrichtung zur unterstützung mehrfacher aktualisierungsagenten
US20040230965A1 (en) * 2003-02-28 2004-11-18 Harri Okkonen Mobile handset network that facilitates interaction between a generic intelligent responsive agent and a service broker server
US8082339B2 (en) 2003-02-28 2011-12-20 Hewlett-Packard Development Company, L.P. Electronic device network having graceful denial of service
US7689981B1 (en) 2003-02-28 2010-03-30 Hewlett-Packard Development Company, L.P. Mobile handset with efficient interruption point detection during a multiple-pass update process
US7356727B1 (en) 2003-03-10 2008-04-08 Hewlett-Packard Development Company, L.P. Electronic device employing efficient fault tolerance
US7881745B1 (en) 2003-03-10 2011-02-01 Hewlett-Packard Development Company, L.P. Electronic device network employing provisioning techniques to update firmware and/or software in electronic devices
US7548986B1 (en) 2003-03-17 2009-06-16 Hewlett-Packard Development Company, L.P. Electronic device network providing streaming updates
WO2004086196A2 (en) * 2003-03-24 2004-10-07 Bitfone Corporation Electronic device supporting multiple update agents
US7174451B2 (en) * 2003-03-31 2007-02-06 Intel Corporation System and method for saving and/or restoring system state information over a network
US7975147B1 (en) 2003-03-31 2011-07-05 Hewlett-Packard Development Company, L.P. Electronic device network supporting enciphering and deciphering and update generation in electronic devices
US7174446B2 (en) 2003-04-25 2007-02-06 Dell Products L.P. System and method for managing the boot sequence of an information handling system
US7322029B2 (en) * 2003-05-08 2008-01-22 American Megatrends, Inc. Method and system for recovering program code in a computer system
EP1475704A2 (de) * 2003-05-08 2004-11-10 Matsushita Electric Industrial Co., Ltd. Informationsverarbeitungsgerät
US20040225874A1 (en) * 2003-05-09 2004-11-11 Jeremy Burr Method for reduced BIOS boot time
US7188238B2 (en) * 2003-05-21 2007-03-06 Intel Corporation Methods and apparatus to update a basic input/output system (BIOS)
US7987449B1 (en) 2003-05-22 2011-07-26 Hewlett-Packard Development Company, L.P. Network for lifecycle management of firmware and software in electronic devices
US7747994B1 (en) 2003-06-04 2010-06-29 Hewlett-Packard Development Company, L.P. Generator based on multiple instruction streams and minimum size instruction set for generating updates to mobile handset
WO2004109510A2 (en) * 2003-06-04 2004-12-16 Bitfone Corporation Network having customizable generators of software updates and mobile electronic devices having customizable updating software
US7584466B1 (en) * 2003-06-16 2009-09-01 Hewlett-Packard Development Company, L.P. Management tree management in a mobile handset
US8046753B1 (en) 2003-06-18 2011-10-25 Hewlett-Packard Development Company, L.P. Mobile handset with symbian OS and update agent
JP2007507020A (ja) * 2003-06-24 2007-03-22 バイエリッシェ モートーレン ウエルケ アクチエンゲゼルシャフト プログラミング可能な読出し専用メモリのブートセクタ内にソフトウェアをリロードするための方法
WO2005001665A2 (en) * 2003-06-27 2005-01-06 Bitfone Corporation System and method for downloading update packages into a mobile handset in a carrier network
US20040268336A1 (en) * 2003-06-30 2004-12-30 Chen-Jen Lu System and method for equipment automation program refresh
US20040268116A1 (en) * 2003-06-30 2004-12-30 Vasisht Virender K Fault tolerant recovery block with reduced flash footprint
US7343443B1 (en) * 2003-07-08 2008-03-11 Hewlett-Packard Development Company, L.P. Updated package generation based on analysis of bank dependency
US20050114504A1 (en) * 2003-07-09 2005-05-26 Sunil Marolia Carrier network capable of conducting remote diagnostics in a mobile handset
US7366125B1 (en) 2003-07-24 2008-04-29 Bbn Technologies Corp. Extensible satellite communication system
JP2005050073A (ja) * 2003-07-28 2005-02-24 Matsushita Electric Ind Co Ltd データ復旧方法およびデータ記録装置
EP1652075B1 (de) * 2003-07-29 2018-10-31 Qualcomm Incorporated Mobiler handapparat mit in hardware implementiertem aktualisierungs-agent
US7886093B1 (en) 2003-07-31 2011-02-08 Hewlett-Packard Development Company, L.P. Electronic device network supporting compression and decompression in electronic devices
US8555273B1 (en) 2003-09-17 2013-10-08 Palm. Inc. Network for updating electronic devices
US7668612B1 (en) 2003-09-18 2010-02-23 Hewlett-Packard Development Company, L.P. System and method for efficient manufacture and update of electronic devices
KR20090035044A (ko) * 2003-09-26 2009-04-08 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘 피 네트워크에서의 생성자와 콘텐츠 서버 간의 업데이트 패키지 전송을 위한 업데이트 패키지 카탈로그
WO2005036916A1 (en) * 2003-10-03 2005-04-21 Bitfone Corporation Network and method for registration of mobile devices and management of the mobile devices
US7716276B1 (en) 2003-11-17 2010-05-11 Hewlett-Packard Development Company, L.P. Network that supports user-initiated device management
US7571484B2 (en) * 2003-12-04 2009-08-04 Microsoft Corporation System and method for image authentication of a resource-sparing operating system
US20050125412A1 (en) * 2003-12-09 2005-06-09 Nec Laboratories America, Inc. Web crawling
US7797693B1 (en) 2003-12-12 2010-09-14 Hewlett-Packard Development Company, L.P. NAND mobile devices capable of updating firmware or software in a manner analogous to NOR mobile devices
US20050132351A1 (en) * 2003-12-12 2005-06-16 Randall Roderick K. Updating electronic device software employing rollback
US7424603B2 (en) * 2003-12-18 2008-09-09 Intel Corporation Method and apparatus to store initialization and configuration information
US7099967B2 (en) * 2003-12-22 2006-08-29 Hewlett-Packard Development Company, L.P. System and method for storing an image file in a computer system
US7103687B2 (en) * 2003-12-22 2006-09-05 Hewlett-Packard Development Company, L.P. System and method for providing an image file in a computer system
US8924522B2 (en) 2003-12-23 2014-12-30 Intel Corporation Method and apparatus for remote modification of system configuration setting
US7373498B2 (en) * 2003-12-23 2008-05-13 Intel Corporation Method and apparatus for updating a system configuration through an active or passive update
US8990366B2 (en) 2003-12-23 2015-03-24 Intel Corporation Method and apparatus for remote modification of system configuration
US9323515B1 (en) 2004-01-16 2016-04-26 Qualcomm Incorporated Network with broker for device management
US8838754B1 (en) 2004-01-26 2014-09-16 Qualcomm Incorporated Mobile device with a management forest in a device management network
JP4534498B2 (ja) * 2004-01-28 2010-09-01 ソニー株式会社 半導体装置およびその起動処理方法
US7984485B1 (en) 2004-01-29 2011-07-19 Hewlett-Packard Development Company, L.P. Ingestion interface for transferring update package containers into a distribution network
KR100987628B1 (ko) * 2004-02-07 2010-10-13 엘지전자 주식회사 엠비디드 컨트롤러의 펌웨어 갱신방법 및 갱신용 펌웨어저장매체
WO2005079334A2 (en) * 2004-02-12 2005-09-01 Bitfone Corporation Device management network that facilitates selective billing
KR100564613B1 (ko) * 2004-02-25 2006-03-29 삼성전자주식회사 플래시 메모리 및 광 드라이브의 펌웨어 모듈 동적 로딩동작 방법
US7739679B2 (en) * 2004-04-06 2010-06-15 Hewlett-Packard Development Company, L.P. Object ordering tool for facilitating generation of firmware update friendly binary image
EP1741030B1 (de) * 2004-04-20 2008-05-14 Koninklijke Philips Electronics N.V. Wiederherstellung der firmware und des gesamten programmierbaren inhalts eines optischen laufwerks
US7904895B1 (en) 2004-04-21 2011-03-08 Hewlett-Packard Develpment Company, L.P. Firmware update in electronic devices employing update agent in a flash memory card
US7971199B1 (en) 2004-05-03 2011-06-28 Hewlett-Packard Development Company, L.P. Mobile device with a self-updating update agent in a wireless network
US7689982B1 (en) 2004-05-07 2010-03-30 Hewlett-Packard Development Company, L.P. Transparent linker profiler tool with profile database
US7543118B1 (en) 2004-05-07 2009-06-02 Hewlett-Packard Development Company, L.P. Multiple variance platform for the management of mobile devices
US7657886B1 (en) 2004-06-03 2010-02-02 Hewlett-Packard Development Company, L.P. Mobile device with a MMU for faster firmware updates in a wireless network
US7269829B2 (en) * 2004-07-30 2007-09-11 Signature Control Systems, Inc. Method and system for remote update of microprocessor code for irrigation controllers
DE602004020214D1 (de) 2004-08-05 2009-05-07 Sony Ericsson Mobile Comm Ab Softwareaktualisierung in einem tragbaren Funkkommunikationsgerät
US8526940B1 (en) 2004-08-17 2013-09-03 Palm, Inc. Centralized rules repository for smart phone customer care
US7353377B2 (en) * 2004-09-10 2008-04-01 Intel Corporation Remotely providing basic input/output system to a client system
US7624452B2 (en) * 2004-10-20 2009-11-24 Digi International Automatic device configuration using removable storage
DE102004061294B4 (de) * 2004-12-20 2020-03-19 Tridonic Gmbh & Co Kg Verfahren zur Programmierung eines Betriebsgerätes für Leuchtmittel, Schnittstelle für ein Betriebsgerät für Leuchtmittel und Betriebsgerät für Leuchtmittel
US20060175271A1 (en) * 2005-01-31 2006-08-10 Emrey David A Apparatus and method of holding a golf score card and writing instrument, and golf bag and system incorporating the same
DE102005018910A1 (de) * 2005-04-22 2006-10-26 Endress + Hauser Gmbh + Co. Kg Verfahren zum Aufrüsten eines mikroprozessorgesteuerten Geräts mit neuem Softwarecode über ein Kommunikationsnetzwerk
TWI273383B (en) * 2005-06-29 2007-02-11 Inventec Corp Computer platform system program remote control recovery method and system
TW200713037A (en) * 2005-09-06 2007-04-01 Benq Corp System and method for updating firmware
WO2007085987A1 (en) * 2006-01-27 2007-08-02 Koninklijke Philips Electronics N.V. Method for keeping track of upgrade safety, electronic device with upgradable firmware, server and data carrier
WO2007095368A2 (en) * 2006-02-14 2007-08-23 Wms Gaming Inc. Reorganizing a wagering game machine's nvram
CA2653808C (en) * 2006-06-01 2014-10-14 Exaflop Llc Controlled warm air capture
EP2036189B1 (de) * 2006-06-01 2019-04-03 Google LLC Verteilungsarchitektur für ununterbrechbare stromversorgung einer datenzentrale
CA2653817C (en) * 2006-06-01 2012-10-16 Google Inc. Modular computing environments
WO2007146710A2 (en) 2006-06-08 2007-12-21 Hewlett-Packard Development Company, L.P. Device management in a network
EP2047420A4 (de) 2006-07-27 2009-11-18 Hewlett Packard Development Co Benutzererfahrungs- und abhängigkeitsverwaltung bei einer mobilen vorrichtung
WO2008022198A2 (en) * 2006-08-15 2008-02-21 Hewlett-Packard Development Company, L.P. Friends finder service for a mobile device in a network
DE102006043636A1 (de) * 2006-09-18 2008-03-27 Fujitsu Siemens Computers Gmbh Computersystem und Verfahren zum Aktualisieren von Programmcode
US8286238B2 (en) * 2006-09-29 2012-10-09 Intel Corporation Method and apparatus for run-time in-memory patching of code from a service processor
US7870379B2 (en) * 2006-10-10 2011-01-11 Exaflop Llc Updating a power supply microcontroller
JP5040264B2 (ja) 2006-11-01 2012-10-03 セイコーエプソン株式会社 情報処理装置、情報更新方法及びそのプログラム
CN201015041Y (zh) * 2006-12-29 2008-01-30 鸿富锦精密工业(深圳)有限公司 Bios芯片扩展装置
US9348730B2 (en) * 2007-01-31 2016-05-24 Standard Microsystems Corporation Firmware ROM patch method
US8572598B1 (en) * 2007-04-18 2013-10-29 Nvidia Corporation Method and system for upgrading software in a computing device
US7822935B2 (en) * 2007-05-03 2010-10-26 Sandisk Il Ltd. Methods for data-smuggling
WO2008135969A1 (en) * 2007-05-03 2008-11-13 Sandisk Il Ltd. Storage device and method for data-smuggling
US10339227B1 (en) 2007-06-08 2019-07-02 Google Llc Data center design
US8080900B2 (en) * 2007-07-18 2011-12-20 Exaflop Llc Direct-coupled IT load
US8721458B2 (en) * 2007-11-09 2014-05-13 Wms Gaming Inc. NVRAM management in a wagering game machine
US8332838B2 (en) * 2007-11-14 2012-12-11 Continental Automotive Systems, Inc. Systems and methods for updating device software
US8219595B2 (en) 2008-02-14 2012-07-10 Hewlett-Packard Development Company, L.P. System and method for efficient remote data access for server management
US8132253B2 (en) * 2008-04-21 2012-03-06 Dell Products L.P. Memory security override protection for manufacturability of information handling systems
TW200945200A (en) * 2008-04-22 2009-11-01 Asustek Comp Inc Computer system, BIOS structure and power-on method thereof
US8504811B2 (en) * 2008-05-21 2013-08-06 Dell Products, Lp System and method of accessing BIOS change summary information within a BIOS operating environment
BRPI0910794A2 (pt) * 2008-07-11 2015-09-29 Hewlett Packard Development Co método para atualizar uma imagem de cliente fino, sistema de computador e método para atualizar um sistema operacional de clente fino
TWI370971B (en) * 2008-08-20 2012-08-21 Incomm Technologies Co Ltd Memory card and non-volatile memory controller thereof
TW201009704A (en) * 2008-08-20 2010-03-01 Incomm Technologies Co Ltd Memory card and non-volatile memory controller thereof
TWI460657B (zh) * 2008-09-05 2014-11-11 Asustek Comp Inc 更新與修復基本輸入輸出系統的方法
EP2180403A1 (de) * 2008-10-21 2010-04-28 Moxa Inc. Sicherungssystem, das Bootdatendateien eines eingebetteten Systems in verschiedenen Speicherabschnitten speichert und Verfahren dafür
US8069343B2 (en) * 2009-03-20 2011-11-29 Concorso James A Computer with bootable restoration
US8046631B2 (en) * 2009-04-29 2011-10-25 Lsi Corporation Firmware recovery in a raid controller by using a dual firmware configuration
US8178997B2 (en) 2009-06-15 2012-05-15 Google Inc. Supplying grid ancillary services using controllable loads
TW201102924A (en) * 2009-07-03 2011-01-16 Inventec Appliances Corp Embedded electronic device and method for updating firmware thereof
CN101706788B (zh) * 2009-11-25 2012-11-14 惠州Tcl移动通信有限公司 一种嵌入式文件系统的跨区访问方法
TWI416373B (zh) * 2010-03-25 2013-11-21 Wistron Corp 鍵盤定義更新方法及電腦系統
JP5305473B2 (ja) * 2010-11-26 2013-10-02 Necインフロンティア株式会社 エラーコード出力装置及びエラーコード出力方法
US8595716B2 (en) 2011-04-06 2013-11-26 Robert Bosch Gmbh Failsafe firmware updates
US8193662B1 (en) 2011-10-17 2012-06-05 Google Inc. Power supply source blending and smoothing
US8849647B2 (en) 2011-10-19 2014-09-30 Lsi Corporation Dual-firmware for next generation emulation
US20130166893A1 (en) * 2011-12-23 2013-06-27 Sandisk Technologies Inc. Auxiliary card initialization routine
US9009500B1 (en) 2012-01-18 2015-04-14 Google Inc. Method of correlating power in a data center by fitting a function to a plurality of pairs of actual power draw values and estimated power draw values determined from monitored CPU utilization of a statistical sample of computers in the data center
KR20140007990A (ko) * 2012-07-09 2014-01-21 삼성전자주식회사 불휘발성 램을 포함하는 사용자 장치 및 그것의 데이터 관리 방법
US9032250B1 (en) 2012-11-05 2015-05-12 Google Inc. Online testing of secondary power unit
US9823972B2 (en) * 2014-10-28 2017-11-21 Samsung Electronics Co., Ltd. Mobile flash storage boot partition and/or logical unit shadowing
KR102261815B1 (ko) 2014-10-30 2021-06-07 삼성전자주식회사 펌웨어 업데이트 시간을 줄일 수 있는 데이터 저장 장치, 및 이를 포함하는 데이터 처리 시스템
US10824517B2 (en) * 2017-05-08 2020-11-03 American Megatrends International, Llc Backup and recovery of configuration files in management device
US11537389B2 (en) * 2017-12-12 2022-12-27 Infineon Technologies LLC Memory devices, systems, and methods for updating firmware with single memory device
US10395038B2 (en) * 2018-02-01 2019-08-27 Quanta Computer Inc. System and method for automatic recovery of firmware image
US11733994B2 (en) * 2019-05-03 2023-08-22 EMC IP Holding Company LLC System and method for state management

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4663707A (en) * 1984-05-25 1987-05-05 Scientific Micro Systems, Inc. Multilevel bootstrap apparatus

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4298949A (en) * 1976-08-16 1981-11-03 Texas Instruments Incorporated Electronic calculator system having high order math capability
US4290104A (en) * 1979-01-02 1981-09-15 Honeywell Information Systems Inc. Computer system having a paging apparatus for mapping virtual addresses to real addresses for a memory of a multiline communications controller
US4374417A (en) * 1981-02-05 1983-02-15 International Business Machines Corp. Method for using page addressing mechanism
US4443847A (en) * 1981-02-05 1984-04-17 International Business Machines Corporation Page addressing mechanism
US4441155A (en) * 1981-11-23 1984-04-03 International Business Machines Corporation Page controlled cache directory addressing
US4608632A (en) * 1983-08-12 1986-08-26 International Business Machines Corporation Memory paging system in a microcomputer
US4799145A (en) * 1985-04-03 1989-01-17 Honeywell Bull Inc. Facility for passing data used by one operating system to a replacement operating system
CA1242809A (en) * 1985-12-20 1988-10-04 Mitel Corporation Data storage system
US4763333A (en) * 1986-08-08 1988-08-09 Universal Vectors Corporation Work-saving system for preventing loss in a computer due to power interruption
US4831522A (en) * 1987-02-17 1989-05-16 Microlytics, Inc. Circuit and method for page addressing read only memory
US4862349A (en) * 1987-10-19 1989-08-29 International Business Machines Corporation Method for extracting and/or replacing control system information in a computer operating system
US5053990A (en) * 1988-02-17 1991-10-01 Intel Corporation Program/erase selection for flash memory
GB8825764D0 (en) * 1988-11-03 1988-12-07 Lucas Ind Plc Computer memory addressing system
US5142680A (en) * 1989-04-26 1992-08-25 Sun Microsystems, Inc. Method for loading an operating system through a network
US5210875A (en) * 1989-08-25 1993-05-11 International Business Machines Corporation Initial bios load for a personal computer system
US5136713A (en) * 1989-08-25 1992-08-04 International Business Machines Corporation Apparatus and method for decreasing the memory requirements for bios in a personal computer system
US5126808A (en) * 1989-10-23 1992-06-30 Advanced Micro Devices, Inc. Flash EEPROM array with paged erase architecture
US5134580A (en) * 1990-03-22 1992-07-28 International Business Machines Corporation Computer with capability to automatically initialize in a first operating system of choice and reinitialize in a second operating system without computer shutdown
EP0500973B1 (de) * 1991-02-25 1999-05-06 Siemens Aktiengesellschaft EEPROM und Verfahren zum Ändern einer Initialisierungsroutine im EEPROM
DE4215063C2 (de) * 1991-05-10 1999-11-25 Intel Corp Einrichtung und Verfahren zum Seitenwechsel bei einem nicht-flüchtigen Speicher
US5388267A (en) * 1991-05-29 1995-02-07 Dell Usa, L.P. Method and apparatus for updating and restoring system BIOS functions while maintaining BIOS integrity

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4663707A (en) * 1984-05-25 1987-05-05 Scientific Micro Systems, Inc. Multilevel bootstrap apparatus

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Electronics, Nov. 1990, S. 52, 53 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6515680B1 (en) 1992-12-09 2003-02-04 Discovery Communications, Inc. Set top terminal for television delivery system
US6539548B1 (en) 1992-12-09 2003-03-25 Discovery Communications, Inc. Operations center for a television program packaging and delivery system
US7770196B1 (en) 1992-12-09 2010-08-03 Comcast Ip Holdings I, Llc Set top terminal for organizing program options available in television delivery system

Also Published As

Publication number Publication date
ITMI921004A1 (it) 1993-10-28
JP3372964B2 (ja) 2003-02-04
JPH06266552A (ja) 1994-09-22
US5579522A (en) 1996-11-26
DE4214184A1 (de) 1992-11-12
ITMI921004A0 (it) 1992-04-28
IT1254937B (it) 1995-10-11

Similar Documents

Publication Publication Date Title
DE4214184C2 (de) Computersystem mit einem nicht-flüchtigen Speicher und Verfahren zu dessen Aktualisierung
DE69726304T2 (de) Nichtflüchtiger schreibbarer speicher mit programmierungsaufhebungsbefehl
DE69627814T2 (de) System zum bereitstellen eines bios für den hauptrechner
DE10003108B4 (de) Verfahren und Computersystem zum Durchführen einer Softwareinstallation
DE19681256C2 (de) Ausführung von Anwendungen am Platz vom Speicher
DE10297281B4 (de) Verfahren zum elementaren Aktualisieren einer Vielzahl von Dateien
DE69724516T2 (de) Rechnersystem und Verfahren zur Ausführung von architekturspezifischem Programmcode mit geringen Laufzeitspeicherbereichsanforderungen
DE60008929T2 (de) Schnellstart eines mikroprozessorbasierten systems
DE60213606T2 (de) Anwendungsprogrammserver mit einem laufwerkaufteilungsschema zur anpassung der wachstumsgrösse des anwendungsprogramms
DE4143072C2 (de) Blockweise löschbarer nicht-flüchtiger Halbleiterspeicher
DE69821844T2 (de) Verfahren zur automatischen Installierung und übertragung von Daten auf ein Rechnerplattenlaufwerk
DE69534867T2 (de) Verfahren und System zur Lieferung geschützter Gerätetreiber
DE69914595T2 (de) Geschütztes speichermedium für ein rechnersystem
DE10238566A1 (de) Fenster-basierendes Flashspeicher-Speichersystem und Management und Zugriffsverfahren darauf
DE60210434T2 (de) Betriebssystemselektor und Datenplattenspeicher
DE112009002207B4 (de) Aktualisieren einer Firmware mit mehreren Prozessoren
DE4215063A1 (de) Einrichtung und verfahren zum seitenwechsel bei einem nicht-fluechtigen speicher
DE10393859B4 (de) Entkoppelter Hardwarekonfigurationsmanager
DE19525105A1 (de) Informationsverarbeitungssystem
DE4026912A1 (de) Computersystem
DE112008000180T5 (de) Verfahren und System für die Umsetzung eines Fast-Wakeup eines Flashspeichersystems
DE10225664A1 (de) System und Verfahren zum Prüfen von Systemabrufereignissen mit Systemabrufumhüllungen
DE102006029690A1 (de) Beibehaltung einer Identifikation einer elektronischen Steuereinheit bei Umprogrammierungsereignissen
DE602005003778T2 (de) Verfahren und Vorrichtung zum Wiederbeschreiben eines Sektors mit Bootloader-Software in einem sektor-löschbaren nichtflüchtigen Halbleiterspeicher
DE202010017644U1 (de) Hybridspeichervorrichtung

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8125 Change of the main classification

Ipc: G06F 9/44

D2 Grant after examination
8364 No opposition during term of opposition
R071 Expiry of right
R071 Expiry of right