DE60122418T2 - Verfahren und Apparat zum Herunterladen von Firmware - Google Patents

Verfahren und Apparat zum Herunterladen von Firmware Download PDF

Info

Publication number
DE60122418T2
DE60122418T2 DE60122418T DE60122418T DE60122418T2 DE 60122418 T2 DE60122418 T2 DE 60122418T2 DE 60122418 T DE60122418 T DE 60122418T DE 60122418 T DE60122418 T DE 60122418T DE 60122418 T2 DE60122418 T2 DE 60122418T2
Authority
DE
Germany
Prior art keywords
image
firmware
file
download
peripheral device
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
DE60122418T
Other languages
English (en)
Other versions
DE60122418D1 (de
Inventor
Biswaroop Roseville Guha
William Ross Orangeville Boland
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Application granted granted Critical
Publication of DE60122418D1 publication Critical patent/DE60122418D1/de
Publication of DE60122418T2 publication Critical patent/DE60122418T2/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Description

  • Die vorliegende Erfindung bezieht sich allgemein auf ein Verfahren und eine Vorrichtung zum Herunterladen von Firmware von einem angeschlossenen Host oder einer Quelle, das durch einen wirksam angeschlossenen Client-Computer angefordert wird, z. B. in Form eines Peripheriegeräts, zum Herunterladen von Firmware in einen nicht flüchtigen Speicher mit einer Sicherungsbildpartition und einer Codebildpartition.
  • Ein Peripheriegerät speichert üblicherweise seine eigene Konfiguration und Betriebscodes zur Verwendung mit einem Computer, was allgemein als eine Firmware gespeichert ist. Die Firmware ist eine Sammlung der wesentlichen Programme für das Peripheriegerät, die selbst dann in Speicherung bleiben, wenn das System abgeschaltet wird. Die Firmware wird allgemein in dem Peripheriegerät unter Verwendung eines nicht flüchtigen Speichers oder des programmierbaren Flash-Speichers gespeichert. Da die Computer mit der Zeit aufgerüstet werden müssen, muss auch die Firmware für die Leistung, oder um neue Merkmale hinzuzufügen, aufgerüstet werden. Folglich muss eine neue Firmware periodisch durch die Benutzer heruntergeladen und installiert werden.
  • Der nicht flüchtige Speicher der Firmware ist im Allgemeinen in mehrere Partitionen mit spezifischen Speicherungsdefinitionen gemäß dem Typ von Informationen, die gespeichert werden, aufgeteilt. Z. B. können vier Partitionen vorliegen, im Einzelnen die Partition des Basis-Eingabe/Ausgabe-Systems („BIOS"), die nicht flüchtige Datenpartition, die Codebild-(„CI") Partition und die Sicherungsbild-(„BI") Partition. In diesem Fall wird die CI-Partition zur Speicherung aller Firmware verwendet. Zu Beginn eines Herunterladeprozesses speichert die BI-Partition das Sicherungsbild der Firmware, wobei es sich um die Grundkonfiguration und Nutzoperationen handelt, die sich auf die Firmware bezie hen. Das Codebild der Firmware, bei dem es sich um die Codes der tatsächlichen Firmware handelt, wird dann nach einem erfolgreichen Herunterladen des Sicherungsbildes in der CI-Partition gespeichert.
  • Falls das Herunterladen erfolgreich ist, wird das Sicherungsbild überhaupt nicht verwendet. Da das Codebild allgemein viel größer ist als das Sicherungsbild, kann ein Fehler, wie z. B. ein Stromausfall, während des Herunterladeprozesses des Codebildes auftreten. In diesem Fall werden die Informationen von dem Sicherungsbild verwendet, um den Herunterladeprozess von dem Schritt des Herunterladens des Codebildes neu zu starten, anstatt den Herunterladeprozess ganz am Anfang zu beginnen. Das Sicherungsbild ermöglicht ein ausfallsicheres Verfahren zum Herunterladen.
  • Frühere Technologie erforderte, dass das Sicherungsbild während des Herunterladeprozesses ausgeführt wurde, bevor dasselbe tatsächlich verwendet werden konnte. Genauer gesagt müssen die Anweisungen des Sicherungsbildes zuerst ausgeführt werden (d. h. die Ausführung), bevor das Peripheriegerät tatsächlich die Grundkonfiguration und die Nutzoperationen verwenden kann, die in der BI-Partition gespeichert sind, um den Herunterladeprozess in dem Fall einer Übertragungsunterbrechung neu zu starten. Das lag daran, dass das Sicherungsbild in dem nicht flüchtigen Speicher gespeichert wurde; gleichzeitig wurde dasselbe aber auch von dem nicht flüchtigen Speicher ausgeführt; gleichzeitig wurde dasselbe aber auch von dem nicht flüchtigen Speicher ausgeführt. Da das Sicherungsbild bis zur Ausführung nicht wirksam wurde, musste die Übertragung unterbrochen werden, während auf die Ausführung des Sicherungsbildes gewartet wurde. Dann schaltete der nicht flüchtige Speicher zurück zum Empfangsmodus.
  • Ein Problem bei diesem früheren Verfahren bestand darin, dass das Schalten und die Unterbrechung der Übertragung mit großer Häufigkeit Fehler verursachten. Folglich wurde der Herunterladeprozess unzuverlässig.
  • Ein weiteres Problem bestand darin, dass das Schalten zwischen dem Empfangs- und dem Ausführmodus und dann das Zurückschalten zum Empfangsmodus für die CI-Partition den Herunterladeprozess erheblich verlangsamte.
  • Ein weiteres Problem bestand darin, dass das frühere Verfahren von der Verwendung eines einfachen Netzverwaltungsprotokolls („SNMP") und eines trivialen Dateiübertragungsprotokolls („TFTP") abhing, was oft sehr unflexibel war. Folglich funktioniert das frühere Verfahren nicht gut mit der standardmäßigeren Software, die heutzutage verfügbar ist, wie z. B. Hypertextübertragungsprotokoll („HTTP") und Dateiübertragungsprotokoll („FTP").
  • Ein weiteres Problem bestand darin, dass das frühere Verfahren von dem SNMP-Satzgemeinschaftsnamen für seine Sicherheit abhing, der in Klartext über das Netz übertragen wird. Somit war das frühere Verfahren unsicher, da keine kryptographische Sicherheit existierte.
  • Das Dokument EP 0918287 offenbart ein Verfahren zum Schreiben eines einzelnen ROM-Bildes in einen Speicher eines Druckers. Das Dokument WO 9854642 offenbart ein Verfahren und eine Vorrichtung zum ausfallsicheren Herunterladen von Systemsoftware.
  • Die vorliegende Erfindung schafft ein verbessertes Herunterladen von Firmware.
  • Gemäß einem Aspekt der vorliegenden Erfindung wird ein Verfahren zum Herunterladen von Firmware gemäß Anspruch 1 geliefert.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird ein Peripheriegerät gemäß Anspruch 10 geliefert.
  • Das bevorzugte Ausführungsbeispiel kann ein verbessertes Verfahren zum Herunterladen von Firmware auf ein Peripheriegerät liefern, das bis zum Ende des Herunterladeprozesses keine Ausführung des ausfallsicheren Datenbildes erfordert und das zuverlässiger und schneller sein kann.
  • Der Herunterladeprozess kann auch sicherer sein und kann die derzeitige Standardsoftware gestatten.
  • Das bevorzugte Ausführungsbeispiel liefert ein Verfahren und eine Vorrichtung in der Form eines Peripheriegeräts zum Herunterladen von Firmware ansprechend auf eine Anforderung durch einen wirksam angeschlossenen Client-Computer von einem angeschlossenen Host oder einer Quelle, und insbesondere ein Verfahren und ein Peripheriegerät zum Herunterladen von Firmware in den nicht flüchtigen Speicher mit einer BI-Partition und einer CI-Partition. Das bevorzugte Verfahren und die Peripherievorrichtung erfordern keine Ausführung des ausfallsicheren Datenbildes, wie z. B. des Sicherungsbildes, das im Vorhergehenden erörtert wurde, während des Herunterladeprozesses, damit dasselbe wirksam wird, was zu einem zuverlässigeren, flexibleren und schnelleren Verfahren führt.
  • Vorteilhafterweise empfängt das Peripheriegerät zuerst eine Herunterladedatei für die angeforderte Firmware von dem Client-Computer. Dann speichert dasselbe ein spezifisches Datenbild der Datei in eine der Bildpartitionen, die durch das Datenbild bestimmt ist, und eine Fehlerprüfung wird für das Datenbild durchgeführt. Falls ein Fehler bei dem Datenbild auftritt, beendet das Peripheriegerät den Prozess. Der Prozess wird jedoch für das nächste Datenbild der Datei wiederholt, falls kein Fehler gefunden wird.
  • Vorteilhafterweise sind die spezifischen Bilddaten durch die Datei bestimmt. Alternativ oder zusätzlich dazu kann das spezifische Datenbild ein Codebild der Firmware sein.
  • Bei dem bevorzugten Ausführungsbeispiel wird, wenn der Prozess beendet wird, dem Client eine Fehlernachricht gesendet.
  • Ein Ausführungsbeispiel der vorliegenden Erfindung ist im Folgenden nur beispielhaft unter Bezugnahme auf die beiliegenden Zeichnungen beschrieben. Es zeigen:
  • 1 ein schematisches Diagramm einer exemplarischen Verbindung zwischen einem Peripheriegerät und einem Client-Computer, der von einem Host oder einer Quelle empfängt, worin die vorliegende Erfindung implementiert sein kann; und
  • 2 ein Flussdiagramm, das die bevorzugte Subroutine des Peripheriegeräts während des Herunterladeprozesses veranschaulicht.
  • Tabelle von Akronymen
  • Diese Beschreibung verwendet mehrere Akronyme. Die folgende Tabelle ist bereitgestellt, um dem Leser beim Bestimmen der Bedeutung der mehreren Akronyme behilflich zu sein:
  • BIOS
    = Basis-Eingabe/Ausgabe-System
    BI
    = Sicherungsbild
    CI
    = Codebild
    CRC
    = Zyklische Redundanzcodeprüfung
    FTP
    = Dateiübertragungsprotokoll
    HTTP
    = Hypertextübertragungsprotokoll
    RAM
    = Direktzugriffsspeicher
    SNMP
    = Einfaches Netzverwaltungsprotokoll
    TFTP
    = Triviales Dateiübertragungsprotokoll
  • Detaillierte Beschreibung
  • Grob gesagt liefert das vorliegende Ausführungsbeispiel ein Verfahren und eine Vorrichtung zum Herunterladen von Firmware von einem angeschlossenen Host oder einer Quelle, das durch einen wirksam angeschlossenen Client-Computer angefordert wird, das bzw. die einen ausfallsicheren Herunterladeprozess ermöglicht, der keine Ausführung der Sicherungsbilddaten erfordert, bevor das Codebild heruntergeladen werden kann. Der Prozess gestattet das Speichern der kompletten angeforderten Firmwaredatei in dem nicht flüchtigen Speicher oder dem programmierbaren Flash-Speicher, und jegliche Ausführungsprozesse werden unter Verwendung des Direktzugriffsspeichers („RAM") anstelle des Flash-Speichers durchgeführt. Somit kann das Verfahren ein Schalten zwischen dem Empfangsmodus und dem Ausführungsmodus während des Herunterladeprozesses vermeiden.
  • Unter jetziger Zuwendung zu 1 ist ein schematisches Diagramm einer exemplarischen Verbindung zwischen einem Peripheriegerät und einem Client-Computer gezeigt, der von einem angeschlossenen Host oder eine Quelle empfängt. Mehrere Beispiele der Quelle oder des angeschlossenen Host sind gezeigt, aber die Implementierung der vorliegenden Erfindung kann variieren, und eine Reihe von Implementierungen befindet sich innerhalb des Schutzbereiches der vorliegenden Erfindung. Bei diesem Beispiel ist ein Peripheriegerät 10 mit einem Client-Computer 12 verbunden. Der Client-Computer 12 ist mit einem angeschlossenen Host oder einer Quelle 14, wie z. B. einem anderen Computer 16, einem CD-ROM-Laufwerk 18 oder dem Internet 20, zum Empfangen von Daten verbunden, die an das Peripheriegerät 10 übertragen werden sollen. Es kann jedoch sein, dass der Client-Computer 12 nicht unbedingt mit einem anderen Computer 16 oder dem Internet 20 verbunden ist. Z. B. kann der Client-Computer 12 Daten von einem CD-ROM-Laufwerk 18 empfangen. Tatsächlich kann die Firmware-Datei auch auf der Festplatte (nicht gezeigt) des Client-Computers 12 gespeichert sein.
  • 2 zeigt ein Flussdiagramm der bevorzugten Subroutine des Peripheriegeräts 10 während des Herunterladeprozesses. Vor dem Beginn des Prozesses (Block 22) muss das Peripheriegerät 10 wirksam mit dem Client-Computer 12 verbunden werden (Block 24). Außerdem muss der Client-Computer 12 den Beginn der Subroutine durch ein Senden der Herunterladedatei an das Peripheriegerät 10 einleiten (Block 26). Nach der Einleitung empfängt das Peripheriegerät 10 zunächst nur ein paar Bytes der Herunterladedatei (Block 28) zum Prüfen des Datenformats (Block 30), um sicherzustellen, dass eine ordnungsgemäße Datei empfangen wird. Falls das Format der Herunterladedatei nicht ordnungsgemäß ist (Block 32), sendet das Peripheriegerät 10 eine Fehlernachricht an den Client-Computer 12 (Block 34), und der Herunterladeprozess wird dann abgebrochen (Block 36). Andererseits beginnt das Peripheriegerät 10, wenn das Format der Herunterladedatei ordnungsgemäß ist (Block 32), das Sicherungsbild der Herunterladedatei in der BI-Partition des nicht flüchtigen Speichers zu speichern (Block 38).
  • Wie bereits erwähnt, enthält das Sicherungsbild die Grundkonfiguration und die Nutzoperation, die sich auf das Herunterladen und die Firmware beziehen, was als eine ausfallsichere Vorrichtung für den Fall verwendet wird, dass der Herunterladeprozess unterbrochen wird. Das Sicherungsbild ist bevorzugt das erste zu speichernde Datenbild in dem Prozess, dies ist jedoch nicht nötig.
  • Z. B. kann es Fälle geben, bei denen die Herunterladedatei in mehr als nur das Sicherungsbild und das Codebild aufgeteilt ist, und das dritte Datenbild kann die kleinste Größe aufweisen. In einem derartigen Fall kann es wünschenswerter sein, das dritte Datenbild zuerst herunterzuladen, da es sich dabei um den kleinsten Teil der Herunterladedatei handelt. Es kann auch andere Fälle geben, bei denen es ineffizient oder nicht durchführbar wäre, das Sicherungsbild zuerst herunterzuladen. Trotz dieser anderen Möglichkeiten wird es trotzdem bevorzugt, das Sicherungsbild zuerst herunterzuladen, obwohl dies unnötig ist. Trotzdem ist die Reihenfolge allgemein durch die Herunterladedatei anstatt durch das Peripheriegerät 10 definiert.
  • Das Peripheriegerät 10 fährt damit fort, das Sicherungsbild in die BI-Partition zu speichern (Block 38), bis das Herunterladen abgeschlossen ist (Block 40). Wenn das Herunterladen abgeschlossen ist (Block 40), führt das Peripheriegerät 10 eine Fehlerprüfung bei dem Sicherungsbild durch (Block 42). Insbesondere wird es bevorzugt, dass eine zyklische Redundanzcodeprüfung („CRC") für die Fehlerprüfung verwendet wird. Falls ein Fehler gefunden wird (Block 44), wird eine Fehlernachricht an den Client-Computer 12 gesendet (Block 34), und der Herunterladeprozess wird beendet (Block 36).
  • Ansonsten fährt das Peripheriegerät 10 damit fort, das Codebild in die CI-Partition zu speichern (Block 46). Das Speichern des Codebildes (Block 46) wird bis zum Abschluss fortgesetzt (Block 48), worauf eine weitere Fehlerprüfung speziell für das heruntergeladene Codebild folgt (Block 50). Auf ähnliche Weise wird die CRC bevorzugt, aber andere Datenfehlerprüfungen können verwendet werden und liegen innerhalb des Schutzbereichs der vorliegenden Erfindung. Eine Fehlernachricht wird erneut an den Client-Computer ausgesendet (Block 34), wenn ein Fehler durch die CRC gefunden wird (Block 52), und der Herunterladeprozess wird infolgedessen abgebrochen (Block 36). Wird jedoch kein Fehler gefunden (Block 52), sendet das Peripheriegerät 10 eine Herunterladen-erfolgreich-Nachricht an den Client-Computer 12 (Block 54). Das Peripheriegerät fährt sich herunter (Block 56), um neu zu starten, um die heruntergeladene Firmware auszuführen (Block 58), und der Prozess wird beendet (Block 60).
  • Das Codebild stellt die tatsächliche Firmware der Herunterladedatei dar. Um das Codebild von dem Sicherungsbild zu unterscheiden, ist das Codebild der Teil der Datei, den das Peripheriegerät 10 für die tatsächliche Aufrüstung verwendet. Andererseits handelt es sich bei dem Sicherungsbild um Informationen, die das Peripheriegerät 10 verwendet, wenn eine Unterbrechung bei dem Herunterladeprozess des Codebildes vorliegt. Obwohl bei diesem Beispiel nur das Sicherungsbild und das Codebild gezeigt sind, zieht das vorliegende Verfahren ein Herunterladen eines anderen Datenbildes in Betracht, und dies liegt innerhalb des Schutzbereiches dieser Lehren. Außerdem ist die Etikettierung des Sicherungsbildes und des Codebildes beliebig und hat keine Auswirkung auf das System. Somit können andere Bezeichnungen für die Mehrzahl von Speicherpartitionen verwendet werden und befinden sich ebenfalls innerhalb des Schutzbereichs dieser Lehren. Es wird ferner in Erwägung gezogen, dass das System Firmware herunterladen kann, die mehr als zwei Datenbildtypen aufweist.
  • Aus der vorangegangenen Beschreibung sollte es ersichtlich sein, dass ein verbessertes Verfahren und ein verbessertes Peripheriegerät zum Herunterladen von Firmware gezeigt und beschrieben wurden, die viele erwünschte Attribute und Vorteile aufweisen. Das bevorzugte Verfahren und das Peripheriegerät beseitigen die Notwendigkeit, dass das ausfallsichere Datenbild der Herunterladedatei während des Herunterladeprozesses ausgeführt wird, bevor dasselbe wirksam wird. Folglich ist der Umschaltmodus des nicht flüchtigen Speichers nicht mehr notwendig, was ein zuverlässigeres, flexibleres und schnelleres Verfahren ergibt. Die vorliegende Erfindung ermöglicht das Speichern der Herunterladedatei in den nicht flüchtigen Speicher, während nur RAM für Ausführungen verwendet wird.
  • Obwohl verschiedene Ausführungsbeispiele der vorliegenden Erfindung gezeigt und beschrieben wurden, sei darauf hingewiesen, dass andere Modifizierungen, Ersetzungen und Alternativen für einen Fachmann ersichtlich sein werden, wobei sich diese Modifizierungen, Ersetzungen innerhalb des Schutzbereichs der angehängten Ansprüche befinden.

Claims (10)

  1. Ein Verfahren zum Herunterladen von Firmware ansprechend auf eine Anforderung durch einen wirksam angeschlossenen Client-Computer (12) von einem angeschlossenen Host (14) oder einer Quelle auf ein Peripheriegerät (10) des Typs, der einen nicht flüchtigen Speicher aufweist, wobei das Peripheriegerät (10) konzipiert ist, um die Firmware in Form einer Herunterladedatei, die die Betriebsanweisungen und Daten aufweist, in den nicht flüchtigen Speicher herunterzuladen, der zumindest eine Sicherungsbildpartition zum Speichern von einer Grundkonfiguration und Nutzoperationen, die sich auf die Firmware beziehen, und zumindest eine Codebildpartition zum Speichern der Firmware aufweist, dadurch gekennzeichnet, dass die Herunterladedatei eine Mehrzahl von Bildern aufweist, die ein Sicherungsbild, das eine Grundkonfiguration und Nutzoperationen enthält, die sich auf das Herunterladen und die Firmware beziehen, zur Verwendung als eine ausfallsichere Vorrichtung in dem Fall, dass der Herunterladeprozess unterbrochen wird, und ein Codebild umfassen, das die tatsächliche Firmware darstellt, wobei das Verfahren folgende Schritte aufweist: Empfangen (28) der Herunterladedatei für die angeforderte Firmware von dem Client-Computer; Speichern (38) eines spezifischen Datenbilds der Datei in eine der Bildpartitionen, die durch das Datenbild bestimmt ist; Durchführen (42) einer Fehlerprüfung bei dem Datenbild, das in der bestimmten Bildpartition gespeichert ist; Beenden des Prozesses (36), falls ein Fehler gefunden wird; und Wiederholen der Speicher-, Durchführ- und Beenden-Schritte des Prozesses für das nächste Datenbild der Datei, falls kein Fehler gefunden wird, wobei jeder beliebige Prozess für das Verfahren von einem Direktzugriffsspeicher ausgeführt wird.
  2. Ein Verfahren gemäß Anspruch 1, das den Schritt eines Beendens des Prozesses aufweist, wenn alle Datenbilder für die Datei für jede bestimmte Bildpartition empfangen worden sind.
  3. Ein Verfahren gemäß Anspruch 2, bei dem der Schritt eines Beendens des Prozesses folgende Schritte aufweist: Senden (54) einer Herunterladeerfolgsnachricht an den Client-Computer; Herunterfahren (56) des Peripheriegeräts; und Neustarten des Peripheriegeräts, um die heruntergeladene Firmware auszuführen.
  4. Ein Verfahren gemäß einem der vorhergehenden Ansprüche, bei dem das spezifische Datenbild ein Sicherungsbild von einer Grundkonfiguration und von Nutzoperationen der Firmware ist.
  5. Ein Verfahren gemäß Anspruch 4, bei dem das Sicherungsbild zum Wiederherstellen des Herunterladeprozesses unter Verwendung der Informationen der Grundkonfiguration und der Nutzoperationen der Firmware verwendet wird.
  6. Ein Verfahren gemäß Anspruch 4 oder 5, bei dem das Sicherungsbild das erste Datenbild zum Herunterladen ist.
  7. Ein Verfahren gemäß einem der vorhergehenden Ansprüche, wobei vor dem Schritt des Speicherns eines spezifischen Datenbildes das Verfahren folgende Schritte aufweist: Prüfen (30) der Datei auf ein annehmbares Format, bevorzugt durch ein Lesen der ersten paar Bytes der eingehenden Datei; Empfangen (32) der Datei, falls das Format annehmbar ist; und Beenden des Prozesses, falls das Format nicht annehmbar ist.
  8. Ein Verfahren gemäß einem der Ansprüche 1 bis 6, bei dem der Schritt des Speicherns eines spezifischen Datenbildes folgende Schritte aufweist: Empfangen des Datenbildes von dem Client; und Speichern des Datenbildes in der bestimmten Bildpartition.
  9. Ein Verfahren gemäß einem der vorhergehenden Ansprüche, bei dem der Schritt des Durchführens einer Fehlerprüfung den Schritt eines Ausführens einer zyklischen Redundanzcodeprüfung für das Datenbild aufweist.
  10. Ein Peripheriegerät zum Herunterladen von Firmware in Form einer Herunterladedatei von einem angeschlossenen Host oder einer Quelle (14) auf ein Peripheriegerät (10), das durch einen wirksam angeschlossenen Client- Computer (12) angefordert wurde, wobei das Peripheriegerät einen nicht flüchtigen Speicher mit zumindest einer Sicherungsbildpartition zum Speichern von einer Grundkonfiguration und Nutzoperationen, die sich auf die Firmware beziehen, und zumindest einer Sicherungsbildpartition zum Speichern von einer Grundkonfiguration und Nutzoperationen, die sich auf die Firmware beziehen, und zumindest einer Codebildpartition zum Speichern der Firmware umfasst, dadurch gekennzeichnet, dass die Herunterladedatei eine Mehrzahl von Bildern aufweist, die ein Sicherungsbild, das eine Grundkonfiguration und Nutzoperationen enthält, die sich auf das Herunterladen und die Firmware beziehen, zur Verwendung als eine ausfallsichere Vorrichtung in dem Fall, dass der Herunterladeprozess unterbrochen wird, und ein Codebild umfassen, das die tatsächliche Firmware darstellt, wobei das Peripheriegerät folgende Merkmale aufweist: eine Einrichtung (28) zum Empfangen einer der Dateien für die angeforderte Firmware von dem Client-Computer; eine Einrichtung (38) zum Speichern eines spezifischen Datenbilds der Datei in eine der Codebildpartitionen, die durch das Datenbild bestimmt ist; eine Einrichtung (42) zum Durchführen einer Fehlerprüfung bei dem Datenbild, das in der bestimmten Bildpartition gespeichert ist; eine Einrichtung (36) zum Beenden des Prozesses, falls ein Fehler gefunden wird; und eine Einrichtung zum Wiederholen des Speicherns, Durchführens einer Fehlerprüfung und Beendens für das nächste Datenbild der Datei, falls kein Fehler gefunden wird, wobei jeder beliebige Prozess für das Herunterladen von einem Direktzugriffsspeicher ausgeführt wird.
DE60122418T 2000-03-29 2001-03-07 Verfahren und Apparat zum Herunterladen von Firmware Expired - Lifetime DE60122418T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/537,329 US6601212B1 (en) 2000-03-29 2000-03-29 Method and apparatus for downloading firmware to a non-volatile memory
US537329 2000-03-29

Publications (2)

Publication Number Publication Date
DE60122418D1 DE60122418D1 (de) 2006-10-05
DE60122418T2 true DE60122418T2 (de) 2007-11-08

Family

ID=24142186

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60122418T Expired - Lifetime DE60122418T2 (de) 2000-03-29 2001-03-07 Verfahren und Apparat zum Herunterladen von Firmware

Country Status (4)

Country Link
US (1) US6601212B1 (de)
EP (1) EP1152338B1 (de)
JP (1) JP2001312415A (de)
DE (1) DE60122418T2 (de)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100322006B1 (ko) * 1999-06-09 2002-02-06 윤종용 펌웨어 보드의 프로그램을 변경하기 위한 장치 및 방법
US7890947B2 (en) * 2000-10-13 2011-02-15 Sony Corporation System, method and apparatus for embedded firmware code update
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
US8479189B2 (en) 2000-11-17 2013-07-02 Hewlett-Packard Development Company, L.P. Pattern detection preprocessor in an electronic device update generation system
US6886160B1 (en) * 2000-11-29 2005-04-26 Hyung Sup Lee Distribution of mainframe data in the PC environment
US7051326B2 (en) * 2000-12-13 2006-05-23 International Business Machines Corporation Code image distribution in a multi-node network of processors
US7082603B2 (en) * 2001-01-03 2006-07-25 Intel Corporation Upgrading peripheral devices
US6804798B2 (en) * 2001-03-30 2004-10-12 Hewlett-Packard Development Company, L.P. System and method for setting new values for configuration parameters on a device
US7213052B2 (en) * 2001-03-31 2007-05-01 Minolta Co., Ltd. Data communication apparatus capable of rewriting firmware
US6898705B2 (en) * 2001-05-31 2005-05-24 International Business Machines Corporation Automatic appliance server re-provision/re-purposing method
JP4189570B2 (ja) * 2001-12-28 2008-12-03 コニカミノルタビジネステクノロジーズ株式会社 画像処理装置、ファームウェアの送信方法、及び画像処理装置の管理システム
JP2003323301A (ja) * 2002-02-27 2003-11-14 Fuji Xerox Co Ltd ソフトウェアをダウンロードする情報処理装置、ダウンロード方法及びダウンロードプログラム
US7346672B2 (en) * 2002-03-12 2008-03-18 Hewlett-Packard Development Company, L.P. Automatic TFTP firmware download
US6901298B1 (en) * 2002-09-30 2005-05-31 Rockwell Automation Technologies, Inc. Saving and restoring controller state and context in an open operating system
WO2004042538A2 (en) * 2002-11-05 2004-05-21 Bitfone Corporation Firmware update system for facilitating firmware update in mobile handset related applications
EP1420560A1 (de) * 2002-11-13 2004-05-19 Thomson Multimedia Broadband Belgium Softwareaktualisierung über eine USB Verbindung
ATE539404T1 (de) * 2002-12-18 2012-01-15 Hewlett Packard Development Co Mobilteil mit fehlertoleranter aktualisierung
US20050027807A1 (en) * 2003-07-30 2005-02-03 Lynda Fengler Systems and methods for facilitating peripheral device firmware installation
US8555273B1 (en) 2003-09-17 2013-10-08 Palm. Inc. Network for updating electronic devices
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
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
US7797525B2 (en) * 2004-07-01 2010-09-14 Hewlett-Packard Development Company, L.P. Operating system installation
US8526940B1 (en) 2004-08-17 2013-09-03 Palm, Inc. Centralized rules repository for smart phone customer care
US20060143600A1 (en) * 2004-12-29 2006-06-29 Andrew Cottrell Secure firmware update
WO2006069492A1 (en) * 2004-12-31 2006-07-06 Intel Corporation Manageability extension mechanism for system firmware
EP2025095A2 (de) 2006-06-08 2009-02-18 Hewlett-Packard Development Company, L.P. Geräteverwaltung in einem netzwerk
EP2047420A4 (de) 2006-07-27 2009-11-18 Hewlett Packard Development Co Benutzererfahrungs- und abhängigkeitsverwaltung bei einer mobilen vorrichtung
JP4782060B2 (ja) 2007-03-30 2011-09-28 アイシン・エィ・ダブリュ株式会社 データ更新システム及びコンピュータプログラム
US20080263348A1 (en) * 2007-04-17 2008-10-23 Texas Instruments Incorporated Dynamic asymmetric partitioning of program code memory in network connected devices
JP2010015267A (ja) * 2008-07-01 2010-01-21 Canon Inc ソフトウェア配信システム、ソフトウェア配信方法、及びコンピュータプログラム
ES2902644T3 (es) * 2011-02-11 2022-03-29 Siemens Healthcare Diagnostics Inc Sistema y método para actualización segura de software
US8595716B2 (en) * 2011-04-06 2013-11-26 Robert Bosch Gmbh Failsafe firmware updates
US8856536B2 (en) 2011-12-15 2014-10-07 GM Global Technology Operations LLC Method and apparatus for secure firmware download using diagnostic link connector (DLC) and OnStar system
US8966248B2 (en) 2012-04-06 2015-02-24 GM Global Technology Operations LLC Secure software file transfer systems and methods for vehicle control modules
US10126950B2 (en) 2014-12-22 2018-11-13 Intel Corporation Allocating and configuring persistent memory
CN108804126A (zh) * 2018-05-22 2018-11-13 北京图森未来科技有限公司 一种软件升级方法及装置
JP7232062B2 (ja) * 2019-01-28 2023-03-02 日立Astemo株式会社 電子制御装置及びプログラム更新方法
CN110647764B (zh) * 2019-09-05 2022-10-28 上海交通大学 针对用户态非易失性内存文件系统的保护方法及系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2525122B2 (ja) * 1992-11-09 1996-08-14 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュ―タ・システムのバックアップ記録方法、復元方法およびシステム
US5623604A (en) * 1992-11-18 1997-04-22 Canon Information Systems, Inc. Method and apparatus for remotely altering programmable firmware stored in an interactive network board coupled to a network peripheral
US5606660A (en) * 1994-10-21 1997-02-25 Lexar Microsystems, Inc. Method and apparatus for combining controller firmware storage and controller logic in a mass storage system
US5822581A (en) * 1995-09-29 1998-10-13 Intel Corporation Method for CMOS configuration information storage and retrieval in flash
US5740178A (en) 1996-08-29 1998-04-14 Lucent Technologies Inc. Software for controlling a reliable backup memory
JP2000515286A (ja) 1997-05-30 2000-11-14 コーニンクレッカ、フィリップス、エレクトロニクス、エヌ、ヴィ セットトップのシステムソフトウエアをネットワークサーバからアップグレードするためのフェイルセーフ方法
US6266809B1 (en) * 1997-08-15 2001-07-24 International Business Machines Corporation Methods, systems and computer program products for secure firmware updates
US6055632A (en) * 1997-09-25 2000-04-25 Allen-Bradley Company, Llc Method and apparatus for transferring firmware to a non-volatile memory of a programmable controller system
WO1999018505A1 (en) * 1997-10-06 1999-04-15 Powerquest Corporation System and method for transferring one-to-many disk image among computers in a network
KR100228717B1 (ko) 1997-11-06 1999-11-01 윤종용 레이저 프린터의 전원 오프 대처방법

Also Published As

Publication number Publication date
EP1152338A2 (de) 2001-11-07
JP2001312415A (ja) 2001-11-09
EP1152338B1 (de) 2006-08-23
EP1152338A3 (de) 2003-01-15
US6601212B1 (en) 2003-07-29
DE60122418D1 (de) 2006-10-05

Similar Documents

Publication Publication Date Title
DE60122418T2 (de) Verfahren und Apparat zum Herunterladen von Firmware
DE10315490B4 (de) Verfahren und System zum Wechsel zwischen zwei oder mehreren Firmwareabbildungen auf einer Hostvorrichtung
DE69735866T2 (de) Vorrichtung und Verfahren zur Erzeugung von voraussagbaren Antworten
DE3606869A1 (de) Vorrichtung zur datenkompression
DE102009020389A1 (de) System zur Aktualisierung von Firmware und Verfahren dazu, und Verfahren zum Erzeugen von Firmware
DE102006009943A1 (de) Verfahren zum Anwenden von tragbarer Software
DE10393235T5 (de) Firmware-Architektur, die sichere Aktualisierungen und mehrere Prozessortypen unterstützt
DE112008003075T5 (de) Systeme und Verfahren zum Aktualisieren von Einrichtung- bzw Geräte-Software
DE102006026714A1 (de) Verfahren und System zum Aufrechterhalten eines Systemmanagement-BIOS
DE102006043636A1 (de) Computersystem und Verfahren zum Aktualisieren von Programmcode
EP3218804A1 (de) Update einer firmware
DE2747633A1 (de) Dv-system mit einer unterbrechungseinrichtung
DE112008003990T5 (de) Duale, unabhängige, nicht flüchtige Speichersysteme
EP1347599B1 (de) Verfahren und Protokolltester zum Dekodieren gemäss einer Protokollbeschreibung kodierter Daten
DE102008052955B4 (de) Verfahren zur Übertragung von Programmcodes an einen Speicher eines Steuergerätes, insbesondere für Kraftfahrzeuge
DE19803697A1 (de) Software Aktualisierung
DE10330607A1 (de) Einzelchip-Mikrocomputer und Verfahren zu dessen Boot-Region-Schaltern
DE4336500A1 (de) Datenverarbeitungseinrichtung
DE102004037713A1 (de) Verfahren, Betriebssystem und Rechengerät zum Abarbeiten eines Computerprogramms
DE10152530A1 (de) Arbeitsablauffreundliche Firmware-Aktualisierungen für Netzwerkvorrichtungen
EP1273993A2 (de) Verfahren zum Schutz eines Mikrorechner-Systems gegen Manipulation seines Programms
DE10348317B4 (de) Drucker, Druckserver, System, Verfahren zum Betreiben eines Druckers und Prozessorlesbares Medium
DE102004010179A1 (de) Verfahren und Datenverarbeitungsgerät zur Aktualisierung von Rechnerprogrammen per Datenübertragung
EP1812853A2 (de) Verfahren, betriebssystem und rechengerät zum abarbeiten eines computerprogramms
EP4002098A1 (de) Verfahren zur bereitstellung der funktionalität von mehreren mikrodiensten und/oder der funktionalität von mehreren software-containern mittels einer cloud-infrastruktur, system, verwendungssystem, computerprogramm und computerlesbares medium

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: HEWLETT-PACKARD DEVELOPMENT CO., L.P., HOUSTON, US