Computer method and apparatus to force boot block recovery
First Claim
Patent Images
1. A method to force a computer system into a boot block recovery to flash an image into a non-volatile memory, the method comprising the steps of:
- providing a non-volatile memory with a boot block and a system block, wherein the boot block is generally read only and the system block is generally writable; and
executing a system start-up routine in the boot block, the start-up routine comprising the steps of;
checking for a predetermined user input on system start-up; and
if the predetermined user input is detected, forcing execution of boot block recovery code in the boot block, else booting from the system block.
3 Assignments
0 Petitions
Accused Products
Abstract
An apparatus and method to force the computer system to boot from the boot block. During a computer system power-up and initialization, the computer system determines if the escape key is pressed. If so, the computer system will boot from the code in the boot block, proceeding as if the flash ROM is corrupted. This forces the computer system to boot from the boot block even though the system determines that the flash ROM is not corrupt, allowing the user to flash a ROM at the user'"'"'s discretion.
51 Citations
33 Claims
-
1. A method to force a computer system into a boot block recovery to flash an image into a non-volatile memory, the method comprising the steps of:
-
providing a non-volatile memory with a boot block and a system block, wherein the boot block is generally read only and the system block is generally writable; and
executing a system start-up routine in the boot block, the start-up routine comprising the steps of;
checking for a predetermined user input on system start-up; and
if the predetermined user input is detected, forcing execution of boot block recovery code in the boot block, else booting from the system block. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
after the step of checking for a predetermined user input on system start-up, if no predetermined user input has been entered, performing the steps of;
determining if the non-volatile memory has become corrupt; and
responsive to determining the non-volatile memory has become corrupt, forcing execution of boot block recovery code in the boot block.
-
-
5. The method of claim 1, wherein the step of checking for a predetermined user input comprises the step of checking for a predetermined keypress on a keyboard.
-
6. The method of claim 5, wherein the predetermined keypress is an escape key keypress.
-
7. The method of claim 1, wherein the step of checking for a predetermined user input comprises the step of checking for a predetermined mouse stroke on a mouse.
-
8. The method of claim 1, wherein the step of forcing execution of the boot block recovery code comprises the steps of:
-
loading a minimal system via a boot using boot block code; and
reprogramming the non-volatile memory using the minimal system.
-
-
9. A system to force a computer system into a boot block recovery to flash an image for use with a processor, the system comprising:
-
a non-volatile memory;
a system block residing in the non-volatile memory, the system block being generally writable;
a boot block residing in the non-volatile memory the boot block generally read only; and
boot block code stored in the boot block, the boot block code, when executed, causing the processor to perform the step of;
executing a system start-up routine in the boot block, the start-up routine comprising the steps;
checking for a predetermined user input on system start-up; and
if the predetermined user input is detected, forcing execution of boot block recovery code in the boot block, else booting from the system block. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17)
after the step of checking for a predetermined user input on system start-up, if no predetermined user input has been entered, performing the steps of;
determining if the non-volatile memory has become corrupt; and
responsive to determining the non-volatile memory has become corrupt, forcing execution of boot block recovery code in the boot block.
-
-
14. The system of claim 9, wherein the boot block code for performing the step of checking for a predetermined user input comprises code for performing the step of checking for a predetermined keypress on a keyboard.
-
15. The system of claim 14, wherein the predetermined keypress is an escape key keypress.
-
16. The system of claim 9, wherein the boot block code for performing the step of checking for a predetermined user input comprises code for performing the step of checking for a predetermined mouse stroke on a mouse.
-
17. The system of claim 9, wherein the boot block code, when executed, further causes the processor to perform the step of forcing execution of the boot block recovery code comprises the steps of:
-
loading a minimal system in a boot using boot block code; and
reprogramming the non-volatile memory using the minimal system.
-
-
18. A computer system that enters into a boot block recovery to flash an image, the computer system comprising:
-
a processor;
a non-volatile memory coupled to the processor;
a user input device coupled to the processor for receiving an input;
a system block residing in the non-volatile memory, the system block being generally writable;
a boot block residing in the non-volatile memory the boot block being generally read only; and
boot block code stored in the boot block, the boot block code, when executed, causing the processor to perform the step of;
executing a system start-up routine in the boot block, the start-up routine comprising the steps of;
checking for a predetermined user input on system start-up; and
if the predetermined user input is detected, forcing execution of boot block recovery code in the boot block, else booting from the system block. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
after the step of checking for a predetermined user input on system start-up, if no predetermined user input has been entered, performing the steps of;
determining if the non-volatile memory has become corrupt; and
responsive to determining the non-volatile memory has become corrupt, forcing execution of boot block recovery code in the boot block.
-
-
23. The computer system of claim 18, wherein the boot block code for performing the step of checking for a predetermined user input comprises code for performing the step of checking for a predetermined keypress on a keyboard.
-
24. The computer system of claim 23, wherein the predetermined keypress is an escape key keypress.
-
25. The computer system of claim 18, wherein the boot block code for performing the step of checking for a predetermined user input comprises code for performing the step of checking for a predetermined mouse stroke on a mouse.
-
26. The computer system of claim 18, wherein the boot block code, when executed, further causes the processor to perform the step of forcing execution of the boot block recovery code comprises the steps of:
-
loading a minimal system in a boot using boot block code; and
reprogramming the non-volatile memory using the minimal system.
-
-
27. The computer system of claim 18, wherein the input device is a keyboard.
-
28. The computer system of claim 27, wherein the input device is an escape key on the keyboard.
-
29. The computer system of claim 18, wherein the input device is a mouse.
-
30. A method to rewrite the boot code of a computing system, the method comprising the steps of:
-
providing a non-volatile memory with a read-only boot block containing a set of hardware initialization procedures directed to a flash of a non-volatile memory and containing a writable system block containing boot-up procedures;
checking for a predetermined user input that is of a predetermined duration during a computer power-up; and
if the predetermined user input of the predetermined duration is detected, executing a flash procedure, comprising the steps of;
executing the hardware initialization procedures in the boot block to flash the system block of the non-volatile memory; and
executing the boot-up procedures, which may or may not have been modified by the flash procedure, in the system block. - View Dependent Claims (31, 32, 33)
if the predetermined user input of the predetermined duration is not detected, executing the boot-up procedures in the system block.
-
-
33. The method of claim 30, wherein the checking for a predetermined user input step is performed after a keyboard is initialized and before the boot-up procedure is complete.
Specification