IP Library Granted Patent US 8,863,109
Granted Patent B2
US 8,863,109 · App. 13/192,671 · Granted Oct 14, 2014

Updating secure pre-boot firmware in a computing system in real-time

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,863,109
App. No.
13/192,671
Granted
Oct 14, 2014
Kind
B2
Abstract

Updating secure pre-boot firmware in a computing system in real-time, including: storing in a secure firmware memory region a firmware update module configured to update the secure pre-boot firmware; responsive to a user request to update the secure pre-boot firmware: entering a processor management mode, including suspending operating system and user-level data processing operations; executing the firmware update module; and determining whether the secure pre-boot firmware was successfully updated; and exiting the processor management mode, including resuming operating system and user-level data processing operations and notifying the user of the successful update.

Claims (54)

1. A method of updating secure pre-boot firmware in a computing system in real-time, the method comprising:

storing in a secure firmware memory region a firmware update module configured to update the secure pre-boot firmware;

responsive to a user request to update the secure pre-boot firmware:

entering a processor management mode, including suspending operating system and user-level data processing operations;

executing the firmware update module; and

determining whether the secure pre-boot firmware was successfully updated; and

responsive to determining that the secure pre-boot firmware was successfully updated, exiting the processor management mode, including:

resuming operating system and user-level data processing operations, and

notifying the user of the successful update.

2. The method of claim 1 wherein storing in the secure firmware memory region the firmware update module configured to update the secure pre-boot firmware includes:

storing the firmware update module in segment of system management random access memory (‘SMRAM’); and

designating the segment of SMRAM that includes the firmware update module as part of the secure firmware memory region.

3. The method of claim 1 further comprising responsive to determining that the secure pre-boot firmware was not successfully updated, exiting the processor management mode, including:

resuming operating system and user-level data processing operations, and

notifying the user of an unsuccessful update.

4. The method of claim 1 further comprising responsive to determining that the secure pre-boot firmware was not successfully updated, issuing a new user request to update the secure pre-boot firmware.

5. The method of claim 1 wherein the processor management mode is a system management mode.

6. The method of claim 1 wherein entering the processor management mode further comprises verifying that all computer processors in the computing system have entered the processor management mode.

7. An apparatus for updating secure pre-boot firmware in a computing system in real-time, the apparatus comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions that, when executed by the computer processor, carry the steps of:

storing in a secure firmware memory region a firmware update module configured to update the secure pre-boot firmware;

responsive to a user request to update the secure pre-boot firmware:

entering a processor management mode, including suspending operating system and user-level data processing operations;

executing the firmware update module; and

determining whether the secure pre-boot firmware was successfully updated; and

responsive to determining that the secure pre-boot firmware was successfully updated, exiting the processor management mode, including:

resuming operating system and user-level data processing operations, and

notifying the user of the successful update.

8. The apparatus of claim 7 wherein storing in the secure firmware memory region the firmware update module configured to update the secure pre-boot firmware includes:

storing the firmware update module in segment of system management random access memory (‘SMRAM’); and

designating the segment of SMRAM that includes the firmware update module as part of the secure firmware memory region.

9. The apparatus of claim 7 further comprising computer program instructions that, when executed by the computer processor, carry the step of responsive to determining that the secure pre-boot firmware was not successfully updated, exiting the processor management mode, including:

resuming operating system and user-level data processing operations, and

notifying the user of an unsuccessful update.

10. The apparatus of claim 7 further comprising computer program instructions that, when executed by the computer processor, carry the step of responsive to determining that the secure pre-boot firmware was not successfully updated, issuing a new user request to update the secure pre-boot firmware.

11. The apparatus of claim 7 wherein the processor management mode is a system management mode.

12. The apparatus of claim 7 wherein entering the processor management mode further comprises verifying that all computer processors in the computing system have entered the processor management mode.

13. A computer program product for updating secure pre-boot firmware in a computing system in real-time, the computer program product disposed upon a computer readable storage medium, the computer program product comprising computer program instructions that, when executed, cause a computer to carry out the steps of:

storing in a secure firmware memory region a firmware update module configured to update the secure pre-boot firmware;

responsive to a user request to update the secure pre-boot firmware:

entering a processor management mode, including suspending operating system and user-level data processing operations;

executing the firmware update module; and

determining whether the secure pre-boot firmware was successfully updated; and

responsive to determining that the secure pre-boot firmware was successfully updated, exiting the processor management mode, including:

resuming operating system and user-level data processing operations, and

notifying the user of the successful update.

14. The computer program product of claim 13 wherein storing in the secure firmware memory region the firmware update module configured to update the secure pre-boot firmware includes:

storing the firmware update module in segment of system management random access memory (‘SMRAM’); and

designating the segment of SMRAM that includes the firmware update module as part of the secure firmware memory region.

15. The computer program product of claim 13 further comprising computer program instructions that, when executed, cause a computer to carry out the step of responsive to determining that the secure pre-boot firmware was not successfully updated, exiting the processor management mode, including:

resuming operating system and user-level data processing operations, and

notifying the user of an unsuccessful update.

16. The computer program product of claim 13 further comprising computer program instructions that, when executed, cause a computer to carry out the step of responsive to determining that the secure pre-boot firmware was not successfully updated, issuing a new user request to update the secure pre-boot firmware.

17. The computer program product of claim 13 wherein the processor management mode is a system management mode.

18. The computer program product of claim 13 wherein entering the processor management mode further comprises verifying that all computer processors in the computing system have entered the processor management mode.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 6, 2019
From: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE LTD.
To: LENOVO INTERNATIONAL LIMITED
Reel/Frame 050300/0570 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNMENT DOCUMENT CONTAINING TYPO ERRORS PREVIOUSLY RECORDED AT REEL: 037101 FRAME: 0969. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Dec 28, 2015
From: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE. LTD.
To: LENOVO INTERNATIONAL LIMITED
Reel/Frame 037689/0190 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 12, 2015
From: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE. LTD.
To: LENOVO INTERNATIONAL LIMITED
Reel/Frame 037101/0969 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2014
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE. LTD.
Reel/Frame 034194/0111 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 28, 2011
From: SKALSKY, NATHAN C.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 026667/0082 →