IP Library Granted Patent US 8,589,302
Granted Patent B2
US 8,589,302 · App. 12/592,605 · Granted Nov 19, 2013

Automated modular and secure boot firmware update

Inventors: Gyan Prakash (Beaverton, OR); Saurabh Dadu (Tigard, OR); Selim Aissi (Beaverton, OR); Hormuzd M. Khosravi (Portland, OR); Duncan Glendinning (Chandler, AZ); Cris Rhodes (Tualatin, OR)
Assignee: Intel Corporation
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 8,589,302
App. No.
12/592,605
Granted
Nov 19, 2013
Kind
B2
Abstract

A method, apparatus, system, and computer program product for an automated modular and secure boot firmware update. An updated boot firmware code module is received in a secure partition of a system, the updated boot firmware code module to replace one original boot firmware code module for the system. Only the one original boot firmware code module is automatically replaced with the updated boot firmware code module. The updated boot firmware code module is automatically executed with the plurality of boot firmware code modules for the system and without user intervention when the system is next booted. The updated boot firmware code module may be written to an update partition of a firmware volume, wherein the update partition of the firmware volume is read along with another partition of the firmware volume containing the plurality of boot firmware code modules when the system is booted.

Claims (38)

1. A computer-implemented method comprising:

receiving an updated boot firmware code module in a secure partition implemented in a microprocessor of a system, the secure partition receiving the updated boot firmware code module from a server via an out-of-band communication channel between the secure partition and the server, the secure partition being isolated from a host operating system of the system, the updated boot firmware code module to replace one original boot firmware code module of a plurality of boot firmware code modules stored in a different partition of the system;

automatically replacing the one original boot firmware code module with the updated boot firmware code module; and

automatically executing the updated boot firmware code module with the plurality of boot firmware code modules for the system when the system is next booted,

wherein if a problem occurs during loading of the updated boot firmware module, the method includes causing the one original boot firmware code module to be loaded.

2. The method of claim 1 , further comprising:

writing the updated boot firmware code module to an update partition of a firmware volume, wherein the update partition of the firmware volume is read along with the different partition of the firmware volume containing the plurality of boot firmware code modules when the system is booted.

3. The method of claim 2 , further comprising:

authenticating integrity of the updated boot firmware module prior to writing the updated boot firmware module to the update partition of the firmware volume.

4. The method of claim 1 , further comprising:

authenticating integrity of the server prior to receiving the updated boot firmware module.

5. The method of claim 1 , further comprising:

providing a status of installation of the updated boot firmware code module after the system is booted to a server from which the updated boot firmware code module was received.

6. A system comprising:

at least one processor executing a host operating system and a plurality of boot firmware code modules for the system; and

a secure partition coupled to the processor, the secure partition isolated from the host operating system, the secure partition for receiving an updated boot firmware code module from a server via an out-of-band communication channel between the secure partition and the server, the updated boot firmware code module to replace one original boot firmware code module of the plurality of boot firmware code modules for the system, the secure partition further for automatically replacing the one original boot firmware code module with the updated boot firmware code module, the processor for automatically executing the updated boot firmware code module with the plurality of boot firmware code modules for the system when the system is next booted, wherein if a problem occurs during loading of the updated boot firmware module, the processor causes the one original boot firmware code module to be loaded, and wherein the plurality of boot firmware code modules are stored in a different partition of the system.

7. The system of claim 6 , wherein the secure partition is further for

writing the updated boot firmware code module to an update partition of a firmware volume, wherein the update partition of the firmware volume is read along with the different another partition of the firmware volume containing the plurality of boot firmware code modules when the system is booted.

8. The system of claim 7 , wherein the secure partition is further for

authenticating integrity of the updated boot firmware module prior to writing the updated boot firmware module to the update partition of the firmware volume.

9. The system of claim 6 , wherein the secure partition is further for authenticating integrity of the server prior to receiving the updated boot firmware module.

10. The system of claim 7 , wherein the secure partition is further for

providing a status of installation of the updated boot firmware code module after the system is booted to a server from which the updated boot firmware code module was received.

11. A computer program product comprising:

a non-transitory computer-readable storage medium; and

instructions in the computer-readable storage medium, wherein the instructions, when executed in a processing system, cause the processing system to perform operations comprising:

receiving an updated boot firmware code module in a secure partition of the processing system, the secure partition receiving the updated boot firmware code module from a server via an out-of-band communication channel between the secure partition and the server, the secure partition being isolated from a host operating system of the system, the updated boot firmware code module to replace one original boot firmware code module of a plurality of boot firmware code modules stored in a different partition of for the processing system;

automatically replacing the one original boot firmware code module with the updated boot firmware code module; and

automatically executing the updated boot firmware code module with the plurality of boot firmware code modules for the processing system and without user intervention when the processing system is next booted,

wherein if a problem occurs during loading of the updated boot firmware module, the operations include causing the one original boot firmware code module to be loaded.

12. The computer program product of claim 11 , wherein the instructions further cause the processing system to perform operations comprising:

writing the updated boot firmware code module to an update partition of a firmware volume, wherein the update partition of the firmware volume is read along with the different another partition of the firmware volume containing the plurality of boot firmware code modules when the processing system is booted.

13. The computer program product of claim 12 , wherein the instructions further cause the processing system to perform operations comprising:

authenticating integrity of the updated boot firmware module prior to writing the updated boot firmware module to the update partition of the firmware volume.

14. The computer program product of claim 11 , wherein the instructions further cause the processing system to perform operations comprising:

authenticating integrity of the server prior to receiving the updated boot firmware module.

15. The computer program product of claim 11 , wherein the instructions further cause the processing system to perform operations comprising:

providing a status of installation of the updated boot firmware code module after the system is booted to a server from which the updated boot firmware code module was received.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 5, 2022
From: INTEL CORPORATION
To: MEDIATEK INC.
Reel/Frame 059828/0105 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 20, 2010
From: PRAKASH, GYAN; DADU, SAURABH; AISSI, SELIM; KHOSRAVI, HORMUZD M.; GLENDINNING, DUNCAN; RHODES, CRIS
To: INTEL CORPORATION
Reel/Frame 025163/0493 →
Continuity (1)
Related Publication 20110131447A1 · Jun 2, 2011