IP Library Granted Patent US 7,322,029
Granted Patent B2
US 7,322,029 · App. 10/434,025 · Granted Jan 22, 2008

Method and system for recovering program code in a computer system

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,322,029
App. No.
10/434,025
Granted
Jan 22, 2008
Kind
B2
Abstract

A method and computer system are provided for recovering program code in a memory device. A determination is made as to whether current program code stored in a memory device in the computer system is valid. The current program code may be current BIOS code for the computer system. If it is determined that the current program code is invalid, code stored in the memory device is executed to copy an image file from a storage device to a main memory in the computer system. The image file includes recovery program code for the memory device. The current program code in the memory device is then updated with the recovery program code from the main memory. Prior to updating the current program code, a flag is set indicating that the current program code needs to be updated. A boot of the computer system is then initiated from the image file and upon detecting the flag, the boot of the computer system is interrupted. While the current program code in the memory device is being updated with the recovery program code, status messages related to the ongoing update may be displayed on a video display device in the computer system.

Claims (44)

1. A method of recovering program code in a computer system comprising:

determining that current program code stored in a memory device in the computer system is invalid;

setting a flag in an image file in a storage device separate from the memory device and a main memory in the computer system, the flag indicating that the current program code is invalid;

executing copy code stored in the memory device to copy the image file from the storage device to the main memory in the computer system, the image file comprising recovery program code for the memory device;

initiating a boot of the computer system from the image file in the main memory;

detecting whether the flag is set in response to initiating the boot of the computer system from the image file in the main memory;

interrupting the boot of the computer system upon detecting that the flag is set to update the current program code; and

updating the current program code in the memory device with the recovery program code.

2. The method of claim 1 , further comprising displaying a plurality of status messages on a video display device in the computer system while updating the current program code in the memory device with the recovery program code.

3. The method of claim 1 , wherein updating the current program code in the memory device with the recovery program code comprises:

identifying the memory device in response to initiating the boot of the computer system from the image file in the main memory;

selecting recovery code in the image file for programming the identified memory device in response to initiating the boot of the computer system from the image file in the main memory; and

executing the selected recovery code to program the identified memory device with the recovery program code.

4. The method of claim 3 , wherein programming the identified memory device with the recovery program code comprises:

erasing the current program code in the memory device; and

programming the memory device with the recovery program code.

5. The method of claim 1 , wherein determining that the current program code stored in a memory device in the computer system is invalid comprises determining that the current program code is corrupted.

6. The method of claim 1 , wherein determining that the current program code stored in a memory device in the computer system is invalid comprises determining that a user initiated request to update the current program code has been made.

7. The method of claim 1 , wherein the recovery program code is a valid copy of the current program code.

8. The method of claim 1 , wherein the recovery program code is an updated version of the current program code.

9. The method of claim 1 , wherein the current program code comprises a BIOS for the computer system.

10. The method of claim 1 , wherein the main memory is a random access memory (RAM) in the computer system.

11. A computer storage medium having computer-executable instructions for performing the method of claim 1 .

12. A computer system for recovering program code stored in a memory device, comprising:

a first memory device comprising current program code for initializing the computer system;

a second memory device for storing an image file comprising recovery code and recovery program code for the first memory device; and

a processor, functionally coupled to the first and second memory devices, the processor being responsive to computer-executable instructions contained in the first memory device and operative to:

determine whether the current program code stored in the first memory device in the computer system is valid;

set a flag in the image file in a storage device in the computer system separate from the first memory device and the second memory device, the flag indicating that the current program code is invalid;

if it is determined that the current program code is invalid, copy the image file from the storage device in the computer system to the second memory device;

initiate a boot of the computer system from the image file in the second memory device;

detect whether the flag is set in response to initiating the boot of the computer system from the image file in the second memory device;

interrupt the boot of the computer system upon detecting that the flag is set to update the current program code;

from the second memory device, execute the recovery code contained in the image file to update the current program code in the first memory device with the recovery program code; and

if it is determined that the current program is valid, initiate a boot of the computer system from the current program code.

13. The computer system of claim 12 , further comprising a video display device for displaying a plurality of status messages while the current program code in the first memory device is being updated with the recovery program code.

14. The computer system of claim 12 , wherein the processor, in executing the recovery code contained in the image file to update the current program code in the first memory device with the recovery program code, is operative to program the first memory device with the recovery program code.

15. The computer system of claim 14 , wherein the processor, prior to programming the first memory device with the recovery program code, is operative to erase the current program code in the first memory device.

16. The computer system of claim 12 , wherein the processor, in determining whether the current program code stored in the first memory device is valid, is operative to determine whether the current program code is corrupted.

17. The computer system of claim 12 , wherein determining whether the current program code stored in a memory device in the computer system is valid comprises determining whether a user initiated request to update the current program code has been made.

18. The computer system of claim 12 , wherein the recovery program code is a valid copy of the current program code.

19. The computer system of claim 12 , wherein the recovery program code is an updated version of the current program code.

20. The computer system of claim 12 , wherein the current program code comprises a BIOS for the computer system.

21. The computer system of claim 12 , wherein the first memory device is a random access memory (RAM) device.

Assignments (5)
PATENT SECURITY AGREEMENT Recorded Oct 23, 2024
From: AMERICAN MEGATRENDS INTERNATIONAL, LLC
To: BAIN CAPITAL CREDIT, LP, AS ADMINISTRATIVE AGENT AND COLLATERAL AGENT
Reel/Frame 069229/0834 →
RELEASE OF SECURITY INTEREST Recorded Oct 17, 2024
From: MIDCAP FINANCIAL TRUST
To: AMERICAN MEGATRENDS INTERNATIONAL, LLC
Reel/Frame 069205/0795 →
SECURITY INTEREST Recorded May 6, 2019
From: AMERICAN MEGATRENDS INTERNATIONAL, LLC
To: MIDCAP FINANCIAL TRUST, AS COLLATERAL AGENT
Reel/Frame 049087/0266 →
ENTITY CONVERSION Recorded Apr 15, 2019
From: AMERICAN MEGATRENDS, INC.
To: AMERICAN MEGATRENDS INTERNATIONAL, LLC
Reel/Frame 049091/0973 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 8, 2003
From: DIAZ, JUAN
To: AMERICAN MEGATRENDS, INC.
Reel/Frame 014061/0821 →