IP Library Granted Patent US 7,536,536
Granted Patent B1
US 7,536,536 · App. 10/736,380 · Granted May 19, 2009

Method, system, and computer readable medium for updating and utilizing the contents of a non-essential region of a memory device

Assignee: American Megatrends, Inc.
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,536,536
App. No.
10/736,380
Granted
May 19, 2009
Kind
B1
Abstract

A method and system are provided for updating an utilizing the contents of a non-essential region in a memory device in a computer system. A computer program is utilized to build an image file. The image file may include program code and data for operating a computer system. The image file includes an essential region for storing program code required to boot the computer system and a non-essential region for storing program code and data which is not required to boot the computer system. The non-essential program code may include graphics data, a language module, or diagnostic tools for the computer system. After building the image file, the image file is then copied to a memory device in the computer system. Finally, only the non-essential region in the memory device is updated. A method may also be utilized to execute program code contained in the non-essential region prior to executing program code contained in the essential region.

Claims (57)

1. A method of updating non-essential program code contained within a region in a non-volatile memory device in a computer system, the method comprising:

building an image file, the image file comprising a region for storing essential program code that is required for booting the computer system and at least a further region for storing non-essential program code that is optional and not required for booting the computer system, wherein the non-essential program code is not linked to any of the essential program code;

copying the image file to the non-volatile memory device in the computer system; and

following copying the image file to the non-volatile memory device in the computer system, updating only the further region of the image file as stored in the non-volatile memory device to update the non-essential program code for the computer system, and not updating the region of the image file as stored in the non-volatile memory device.

2. The method of claim 1 , wherein the further region in the image file comprises one or more blocks of non-essential program code.

3. The method of claim 2 , further comprising reserving at least one of a plurality of sectors in the non-volatile memory device for storing exclusively the one or more blocks of non-essential program code.

4. The method of claim 3 , wherein updating the further region in the non-volatile memory device comprises mapping the one or more blocks of non-essential program code to the at least one reserved sector in the non-volatile memory device.

5. The method of claim 3 , wherein updating the further region in the non-volatile memory device comprises mapping the one or more blocks of non-essential program code to a portion of the at least one reserved sector in the non-volatile memory device.

6. The method of claim 5 , wherein the portion of the at least one reserved sector in the non-volatile memory device is a paragraph multiple.

7. The method of claim 2 , wherein one of the one or more blocks comprises a header and at least one module.

8. The method of claim 7 , wherein the header is located at the beginning of the one of the one or more blocks.

9. The method of claim 7 , wherein the header comprises a pointer to a first module in the one of the one or more blocks.

10. The method of claim 7 , wherein the at least one module comprises a module header and module data.

11. The method of claim 10 , wherein the module header comprises a pointer to a next module in the at least one block.

12. The method of claim 10 , wherein the module data comprises at least one of:

graphics data;

a language module; and

diagnostic tools.

13. The method of claim 1 , wherein the program code in the region comprises a power-on self test (POST) routine.

14. A computer system for updating non-essential program code contained in a non-volatile memory device included within the system, comprising:

the non-volatile memory device for storing an image file, the image file comprising a region for storing essential program code that is required for booting the computer system, and a further region for storing non-essential program code that is optional and not required for booting the computer system, wherein the non-essential program code is not linked to any of the essential program code;

a memory for storing a program containing code for updating the image file stored in a the non-volatile memory device; and

a processor, functionally coupled to the memory and associated with the non-volatile memory device, wherein the processor is responsive to computer-executable instructions contained in the program and operative to:

copy the image file to the non-volatile memory device; and

update only the further region of the image file as stored in the non-volatile memory device to update the non-essential program code, and not update the region of the image file as stored in the non-volatile memory device.

15. The computer system of claim 14 , wherein the further region in the image file comprises at least one block of non-essential program code.

16. The computer system of claim 15 , wherein the non-volatile memory device comprises a plurality of sectors for storing the at least one block of non-essential program code.

17. The computer system of claim 15 , wherein the at least one block of non-essential program code comprises a header and at least one module.

18. The computer system of claim 17 , wherein the header is located at the beginning of the block of non-essential program code.

19. The computer system of claim 17 , wherein the at least one module comprises a module header and module data.

20. The computer system of claim 19 , wherein the module data comprises program code.

21. The computer system of claim 19 , wherein the module data comprises at least one of:

graphics data;

a language module; and

diagnostic tools.

22. The computer system of claim 14 , wherein the region in the image file comprises critical program code.

23. The computer system of claim 22 , wherein the critical program code comprises a power-on self test (POST) routine.

24. A computer-readable storage medium having computer-executable instructions stored thereon that, when executed by a computer, cause the computer to:

build an image file for updating a BIOS installed within a computer system, the image file comprising a region for storing essential program code that is required for booting the computer system, and comprising a further region for storing non-essential program code that is optional and not required for booting the computer system, wherein the image file includes an updated further region, wherein the non-essential program code is not linked to any of the essential program code;

copy the region and the updated further region to a non-volatile memory device provided by the computer system; and

after copying the region and the updated further region to the non-volatile memory device, update only the further region in the BIOS with the updated further region in the non-volatile memory device while maintaining the region unchanged in the non-volatile memory device.

25. The computer-readable storage medium of claim 24 , wherein the further region in the image file comprises at least one block of non-essential program code.

26. The computer-readable storage medium of claim 25 , further comprising computer-executable instructions for causing the computer to reserve at least one of a plurality of sectors in the non-volatile memory device for storing the at least one block of non-essential program code.

27. The computer-readable storage medium of claim 26 , wherein updating only the further region in the non-volatile memory device comprises mapping the at least one block of non-essential program code to the at least one reserved sector in the non-volatile memory device.

28. The computer-readable storage medium of claim 26 , wherein updating only the further region in the non-volatile memory device comprises mapping each block of non-essential program code to a portion of the at least one reserved sector in the non-volatile memory device.

29. The computer-readable storage medium of claim 28 , wherein the portion of the at least one reserved sector in the non-volatile memory device is a paragraph multiple.

30. The computer-readable storage medium of claim 25 , wherein the at least one block of non-essential program code comprises a header and at least one module.

31. The computer-readable storage medium of claim 30 , wherein the header is located at the beginning of the at least one block of non-essential program code.

32. The computer-readable storage medium of claim 30 , wherein the header comprises a pointer to a first module in the at least one block of non-essential program code.

33. The computer-readable storage medium of claim 30 , wherein the at least one module comprises a module header and module data.

34. The computer-readable storage medium of claim 33 , wherein the module header comprises a pointer to a next module in the at least one block of non-essential program code.

35. The computer-readable storage medium of claim 33 , wherein the module data comprises program code.

36. The computer-readable storage medium of claim 33 , wherein the module data comprises at least one of:

graphics data;

a language module; and

diagnostic tools.

37. The computer-readable storage medium of claim 24 , wherein the program code in the region comprises a power-on self test (POST) routine.

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 Dec 15, 2003
From: JOSHI, ANAND; DIAZ, JUAN F.
To: AMERICAN MEGATRENDS, INC.
Reel/Frame 014827/0990 →