IP Library Granted Patent US 7,337,311
Granted Patent B2
US 7,337,311 · App. 10/714,880 · Granted Feb 26, 2008

Method for controlling upgrade of firmware

Assignee: Giga-Byte Technology Co., Ltd.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,337,311
App. No.
10/714,880
Granted
Feb 26, 2008
Kind
B2
Abstract

A method for controlling upgrade of firmware of an electronic device comprising process of forming a hardware ID code; forming a firmware ID code; and checking said firmware ID code and hardware ID code and upgrading said firmware. A coding method is applied for management of software and hardware versions of the device. According to the codes, the entireness and correctness of a firmware is checked before recording the firmware, so that any unintentional mistake or intentional change to the firmware file can be prevented. The compatibility of the firmware file to the hardware and the system resource capacity of the hardware are confirmed in order to prevent from failure during updating.

Claims (76)

1. A method for controlling upgrade of firmware of an electronic device comprising process of:

forming a hardware ID code;

forming a firmware ID code; and

checking said firmware ID code and hardware ID code and upgrading said firmware,

wherein said process of forming a hardware ID code further comprises steps of:

confirming hardware version;

confirming a password;

confirming a salt;

confirming an algorithm;

operating said algorithm with said hardware version, password and salt and getting a hardware ID code; and

writing said salt and hardware ID code into said hardware.

2. A method for controlling upgrade of firmware of an electronic device according to claim 1 wherein said hardware version is in a format comprising:

a Vender/Product ID related to the vender name and the product name;

a byte of vender code;

a byte of CPU code;

a byte of product code;

a byte of hardware code; and

a reserved byte for extension.

3. A method for controlling upgrade of firmware of an electronic device according to claim 1 wherein said firmware ID code is in a format comprising:

Vendor/Product ID related to the vender name and product name;

a byte of vender code;

a byte of CPU code;

a byte of product code;

a byte of hardware code;

a reserved byte for extension;

a byte of checksum;

a byte of randomized number;

a byte of hardware ID code;

a 6-byte software version code, and

randomized numbers for filling the empty spaces.

4. A method for controlling upgrade of firmware of an electronic device according to claim 1 wherein said salt is randomly generated, and being different each time.

5. A method for controlling upgrade of firmware of an electronic device according to claim 1 wherein said algorithm is logical exclusive OR operation.

6. A method for controlling upgrade of firmware of an electronic device according to claim 1 wherein said algorithm is MD5 message-digest algorithm.

7. A method for controlling upgrade of firmware of an electronic device according to claim 1 wherein said salt and said hardware ID code are both written into said device and stored in a non-evaporative memory unit of said hardware.

8. A method for controlling upgrade of firmware of an electronic device according to claim 7 wherein said non-evaporative memory unit is a complex programmable logic device.

9. A method for controlling upgrade of firmware of an electronic device according to claim 7 wherein said non-evaporative memory unit is an electrically erasable programmable read only memory.

10. A method for controlling upgrade of firmware of an electronic device comprising process of:

forming a hardware ID code;

forming a firmware ID code; and

checking said firmware ID code and hardware ID code and upgrading said firmware,

wherein said process of forming a firmware ID code further comprises steps of:

taking software version and hardware version;

computing and getting said hardware ID code and said salt;

computing and getting a checksum of firmware file; and

filling in empty spaces with random numbers.

11. A method for controlling upgrade of firmware of an electronic device according to claim 10 wherein said hardware version is in a format comprising:

Vender/Product ID related to the vender name and the product name;

a byte of vender code;

a byte of CPU code;

a byte of product code;

a byte of hardware code; and

a reserved byte for extension.

12. A method for controlling upgrade of firmware of an electronic device according to claim 10 wherein said software version is in a format comprising:

a byte of main version code;

a code for major bug correction;

codes for secondary bug corrections; and

codes of specified version.

13. A method for controlling upgrade of firmware of an electronic device according to claim 10 wherein said salt is randomly generated, and being different each time.

14. A method for controlling upgrade of firmware of an electronic device according to claim 10 wherein said computing is algorithm of logical exclusive OR operation.

15. A method for controlling upgrade of firmware of an electronic device according to claim 10 wherein said computing is algorithm of MD5 message-digest algorithm.

16. A method for controlling upgrade of firmware of an electronic device comprising process of:

forming a hardware ID code;

forming a firmware ID code; and

checking said firmware ID code and hardware ID code and upgrading said firmware,

wherein said process of checking said firmware ID code and hardware ID code and upgrading said firmware further comprises steps of:

assuring system resources capable of storing a new firmware;

loading said new firmware;

confirming a checksum of said new firmware;

taking ID codes of said new firmware and an original salt stored in said hardware for computing a hardware ID code;

checking if said computed hardware ID code is same as that stored in said product hardware; and

recording said new firmware into a flash memory according to said checking result, and restarting automatically.

17. A method for controlling upgrade of firmware of an electronic device according to claim 16 wherein said salt is randomly generated, and being different each time.

18. A method for controlling upgrade of firmware of an electronic device according to claim 16 wherein said computing is algorithm of logical exclusive OR operation.

19. A method for controlling upgrade of firmware of an electronic device according to claim 16 wherein said computing is algorithm of MD5 message-digest algorithm.

20. A method for controlling upgrade of firmware of an electronic device according to claim 16 wherein during said step of assuring system resources capable of storing a new firmware, a warning message is generated to inform user to restart when said system resources are insufficient.

21. A method for controlling upgrade of firmware of an electronic device according to claim 16 wherein during said steps of confirming and checking, a warning message is generated to inform user to restart when a checking result is not complied.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 17, 2023
From: GIGA-BYTE TECHNOLOGY CO., LTD.
To: GIGA COMPUTING TECHNOLOGY CO., LTD.
Reel/Frame 063023/0713 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 18, 2003
From: CHEN, YUNTI; HUANG, TIEN-SO; KUO, CHUNG-HSUAN
To: GIGA-BYTE TECHNOLOGY CO., LTD.
Reel/Frame 014710/0952 →
Continuity (1)
Related Publication 20050108700A1 · May 19, 2005