IP Library Granted Patent US 6,859,876
Granted Patent B2
US 6,859,876 · App. 09/751,187 · Granted Feb 22, 2005

System and method for detecting and using a replacement boot block during initialization by an original boot block

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 6,859,876
App. No.
09/751,187
Granted
Feb 22, 2005
Kind
B2
Abstract

A unique method and system to update or modify the original boot block of a computer system without endangering the integrity of the system. More particularly, the present invention relates to a method and system that allows for a secondary boot block to be substituted for the original boot block. This is accomplished by having the original boot block check for a replacement secondary boot block as early in the startup code as is feasible. If a valid secondary boot block is found, the startup process is passed to the secondary boot block. The original boot block is maintained, however, so the system can always be recovered.

Claims (37)

1. A computer system, comprising:

a microprocessor;

startup memory coupled to the microprocessor, wherein the startup memory is available on power up of the system; and

an original boot block stored in the startup memory, wherein the original boot block checks for a secondary boot block; and

wherein the original and second boot blocks are each adapted to perform at least a portion of an initialization of the computer system and then to pass control to an operating system; and

wherein the secondary boot block is a replacement boot block for the original boot block.

2. The computer system of claim 1 wherein the original boot block checks for a secondary boot block stored in the startup memory.

3. The computer system of claim 1 wherein the original boot block checks for a secondary boot block at a specific memory address.

4. The computer system of claim 1 wherein the original boot block checks for a secondary boot block by comparing data at specific memory addresses to verification data.

5. The computer system of claim 1 wherein the original boot block checks for a secondary boot block by performing a checksum of specific memory addresses.

6. The computer system of claim 1 wherein the original boot block checks the integrity of a secondary boot block by performing a checksum of specific memory addresses.

7. The computer system of claim 1 wherein the original boot block only performs mandatory initialization functions before checking for a secondary boot block.

8. The computer system of claim 1 wherein the original boot block is protected from modification.

9. The computer system of claim 1 wherein when a secondary boot block is found in a portion of the startup memory that portion of memory is protected from modification.

10. A method, comprising:

powering up a computer system having startup memory;

accessing an original boot block in startup memory to begin to initialize the system;

checking for a secondary boot block; and

a secondary boot block is present, completing initializing the computer system using the secondary boot block instead of the original boot block;

wherein the secondary boot block is a replacement for the original boot block.

11. The method of claim 10 comprising checking for a secondary boot block stored in the startup memory.

12. The method of claim 10 comprising checking for a secondary boot block at a specific memory address.

13. The method of claim 10 wherein checking for a secondary boot block comprises comparing data at specific memory addresses to verification data.

14. The method of claim 10 wherein checking for a secondary boot block comprises performing a checksum of specific memory addresses.

15. The method of claim 10 further comprising checking the integrity of a secondary boot block by performing a checksum of specific memory addresses.

16. The method of claim 10 wherein the original boot block performs the checking for a secondary boot block.

17. The method of claim 16 wherein only mandatory initialization functions are performed by the boot block before checking for a secondary boot block.

18. The method of claim 16 wherein the original boot block is protected from modification.

19. The method of claim 10 further comprising protecting a portion of startup memory from inadvertent modification during system operation when a secondary boot block is found in that portion of the memory.

20. A computer system, comprising:

a microprocessor;

a read only memory (“ROM”) coupled to the microprocessor; and

a first boot block stored in the ROM and, if a second boot block is also stored in the ROM, control passes from the first boot block to the second boot block for completion of system initialization, said second boot block comprising replacement code for the first boot block.

21. The computer system as in claim 20 wherein the ROM stores the second boot block and a third boot block and the microprocessor determines that the second boot block is stored in the ROM and control passes to the second boot block and the microprocessor then determines that the third boot block is stored in the ROM and control passes to the third boot block.

22. The computer system as in claim 20 wherein control passes to an operating system upon completion of execution of either of the first or second boot blocks.

23. The computer system of claim 20 wherein the ROM comprises a type of memory selected from the group consisting of programmable ROM, electrically erasable programmable ROM, and flash ROM.

24. The computer system of claim 20 wherein the first boot block cannot be overwritten and thereby remains usable, and the second boot block can be overwritten.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 26, 2021
From: OT PATENT ESCROW, LLC
To: VALTRUS INNOVATIONS LIMITED
Reel/Frame 057650/0537 →
PATENT ASSIGNMENT, SECURITY INTEREST, AND LIEN AGREEMENT Recorded Jan 26, 2021
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP; HEWLETT PACKARD ENTERPRISE COMPANY
To: OT PATENT ESCROW, LLC
Reel/Frame 055269/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →