DE60122418T2 - Verfahren und Apparat zum Herunterladen von Firmware - Google Patents
Verfahren und Apparat zum Herunterladen von Firmware Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1433—Saving, restoring, recovering or retrying at system level during software upgrading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1666—Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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ät10 mit einem Client-Computer12 verbunden. Der Client-Computer12 ist mit einem angeschlossenen Host oder einer Quelle14 , wie z. B. einem anderen Computer16 , einem CD-ROM-Laufwerk18 oder dem Internet20 , zum Empfangen von Daten verbunden, die an das Peripheriegerät10 übertragen werden sollen. Es kann jedoch sein, dass der Client-Computer12 nicht unbedingt mit einem anderen Computer16 oder dem Internet20 verbunden ist. Z. B. kann der Client-Computer12 Daten von einem CD-ROM-Laufwerk18 empfangen. Tatsächlich kann die Firmware-Datei auch auf der Festplatte (nicht gezeigt) des Client-Computers12 gespeichert sein. -
2 zeigt ein Flussdiagramm der bevorzugten Subroutine des Peripheriegeräts10 während des Herunterladeprozesses. Vor dem Beginn des Prozesses (Block22 ) muss das Peripheriegerät10 wirksam mit dem Client-Computer12 verbunden werden (Block24 ). Außerdem muss der Client-Computer12 den Beginn der Subroutine durch ein Senden der Herunterladedatei an das Peripheriegerät10 einleiten (Block26 ). Nach der Einleitung empfängt das Peripheriegerät10 zunächst nur ein paar Bytes der Herunterladedatei (Block28 ) zum Prüfen des Datenformats (Block30 ), um sicherzustellen, dass eine ordnungsgemäße Datei empfangen wird. Falls das Format der Herunterladedatei nicht ordnungsgemäß ist (Block32 ), sendet das Peripheriegerät10 eine Fehlernachricht an den Client-Computer12 (Block34 ), und der Herunterladeprozess wird dann abgebrochen (Block36 ). Andererseits beginnt das Peripheriegerät10 , wenn das Format der Herunterladedatei ordnungsgemäß ist (Block32 ), das Sicherungsbild der Herunterladedatei in der BI-Partition des nicht flüchtigen Speichers zu speichern (Block38 ). - 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 (Block38 ), bis das Herunterladen abgeschlossen ist (Block40 ). Wenn das Herunterladen abgeschlossen ist (Block40 ), führt das Peripheriegerät10 eine Fehlerprüfung bei dem Sicherungsbild durch (Block42 ). Insbesondere wird es bevorzugt, dass eine zyklische Redundanzcodeprüfung („CRC") für die Fehlerprüfung verwendet wird. Falls ein Fehler gefunden wird (Block44 ), wird eine Fehlernachricht an den Client-Computer12 gesendet (Block34 ), und der Herunterladeprozess wird beendet (Block36 ). - Ansonsten fährt das Peripheriegerät
10 damit fort, das Codebild in die CI-Partition zu speichern (Block46 ). Das Speichern des Codebildes (Block46 ) wird bis zum Abschluss fortgesetzt (Block48 ), worauf eine weitere Fehlerprüfung speziell für das heruntergeladene Codebild folgt (Block50 ). 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 (Block34 ), wenn ein Fehler durch die CRC gefunden wird (Block52 ), und der Herunterladeprozess wird infolgedessen abgebrochen (Block36 ). Wird jedoch kein Fehler gefunden (Block52 ), sendet das Peripheriegerät10 eine Herunterladen-erfolgreich-Nachricht an den Client-Computer12 (Block54 ). Das Peripheriegerät fährt sich herunter (Block56 ), um neu zu starten, um die heruntergeladene Firmware auszuführen (Block58 ), und der Prozess wird beendet (Block60 ). - 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ät10 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)
- 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. - 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.
- 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. - Ein Verfahren gemäß einem der vorhergehenden Ansprüche, bei dem das spezifische Datenbild ein Sicherungsbild von einer Grundkonfiguration und von Nutzoperationen der Firmware ist.
- 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.
- Ein Verfahren gemäß Anspruch 4 oder 5, bei dem das Sicherungsbild das erste Datenbild zum Herunterladen ist.
- 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. - 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.
- 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.
- 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.
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)
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)
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 | 윤종용 | 레이저 프린터의 전원 오프 대처방법 |
-
2000
- 2000-03-29 US US09/537,329 patent/US6601212B1/en not_active Expired - Fee Related
-
2001
- 2001-03-07 EP EP01302091A patent/EP1152338B1/de not_active Expired - Lifetime
- 2001-03-07 DE DE60122418T patent/DE60122418T2/de not_active Expired - Lifetime
- 2001-03-26 JP JP2001087388A patent/JP2001312415A/ja active Pending
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 |