Computer method and apparatus to force boot block recovery

Error detection/correction and fault detection/recovery – Data processing system error or fault handling – Reliability and availability

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C713S002000

Reexamination Certificate

active

06363492

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to flashing an image in a non-volatile memory, and more specifically to forcing the system into a boot block recovery mode even when the non-volatile memory is not corrupt.
2. Description of the Related Art
The pursuit of low maintenance computers has been a defining issue among personal computer manufacturers for many years. The satisfaction of a personal computer (PC) user is related to the reliability of the PC and to the ease of the troubleshooting/correction procedures. PC's that require a low level of maintenance or eliminate troubleshooting and repair by outside technicians have advantages over maintenance intensive PC's. An error which often exceeds the average user's skill level is when the PC's system programmable Read Only Memory (ROM) becomes corrupt.
Historically ROM, which is non-volatile, was not in-system updatable. ROM memories store code and data required to initialize and operate a system. However, as system enhancement and upgrades became common, the desirability of an updatable ROM increased. A need for an updatable ROM was met by the creation of the Electrically-Erasable-Programmable-Read-Only-Memory (EEPROM). The EEPROM is in-system writable and non-volatile. The EEPROM, by means of an electric pulse, can be programmed and erased. A more recent innovation in the memory technology field is flash ROM. Flash ROM is inherently non-volatile and allows for in-system updateability. Flash ROM can be updated by “flashing” a new ROM image on to the chip, while the system is operational, from a variety of possible sources, including removable media devices, modem links, or parallel or serial connectors.
Flash ROMs are frequently used to store embedded code in the PC. A PC system ROM traditionally contains the resident code that runs the system. A Basic Input/Output System (BIOS) is a typical embedded code storage application of the PC. The BIOS is low level code interfacing the operating system to the specific hardware implementation. Typical BIOS functions include the initialization of disk drives, including floppy, hard, and compact, and initialization of the video and graphical interfaces. The BIOS is specifically configured for each PC based on the presence of specific hardware and the current version or manufacturer of the hardware. If the PC hardware is updated or modified, the BIOS may need to be upgraded to properly initialize the new hardware. An updated BIOS can be flashed, by the user, to the flash ROM, after the user has replaced or upgraded a component to the PC.
A potential problem exists when an updated BIOS is flashed. An incorrect BIOS could inadvertently be flashed or the flash could be interrupted resulting in a corrupted ROM. If this occurs, the system would not initialize. To prevent this, the flash ROM memory array is divided into two distinct sections, the boot block and the main block. The previously discussed applications have all resided in the main block of the flash ROM. The boot block of the flash ROM is protected from an ordinary flash, and that data will remain even after a corrupted flash ROM image is flashed.
The boot block can thus be used to store kernel code necessary to initialize the basic components of the system if a corrupted ROM image is present. This may be no more than code sufficient to allow the corrupted ROM to be re-flashed. Typically, the boot block code cannot be altered by standard ROM power levels, such as 3-5 volts, the levels necessary to perform an in-system ROM flash. Instead, the boot block code is usually programmed by using higher voltage levels, such as 12 volts. Therefore even if the ROM is incorrectly flashed because of the code present in the boot block, the system will still initialize enough to allow the user to flash the correct ROM image to the flash ROM, using the techniques discussed above. The boot block traditionally contains the initialization routines for a floppy disk and a keyboard, but no video interface.
Typically, to determine if a flash ROM is corrupt, the computer system verifies the validity of the flash ROM by using a checksum. A checksum is typically calculated by adding all the bytes in the flash ROM; this value should equal a predetermined amount, the checksum amount. If the value does not equal the checksum amount, then the computer system determines that the flash ROM is corrupt and proceeds to execute the boot block code. If the value equals the checksum amount, the computer system determines the flash ROM is not corrupt, and executes the system block code.
A potential problem exists if a corrupt flash ROM's checksum value does equal the checksum amount by chance, if a virus infected image has previously been loaded into the flash ROM, or if it is otherwise desired or necessary to re-flash the ROM without a normal system boot. In these cases, the computer proceeds with a regular boot even though the flash ROM is corrupt. Techniques that enhance the flexibility of re-flashing a ROM would be desirable.
With the increase in distributed networks and the abilities of PCs to link to each other and to link to various networks, improvements in PC security is desirable. Historically, a PC could be “secured” by physical isolation. Today's networked environment, however, makes such total isolation impractical. Therefore, techniques that enhance security of PCs would also be desirable.
SUMMARY OF THE INVENTION
A method, apparatus, and computer system according to the invention that forces the computer system into boot block recovery even if there is no internal indication that a re-flash is necessary. The apparatus or computer system determines, during power-up, if an input device has been initialized. If the input device has been initialized, the computer system monitors the input device to see if an input is entered. If an input is entered within a predetermined period, the computer system compares the input to a predetermined recovery input. If the input matches the predetermined recovery input, then the computer system executes the code contained in the boot block rather than the other portion of the flash.


REFERENCES:
patent: 3890601 (1975-06-01), Pietrolewicz
patent: 4942606 (1990-07-01), Kaiser et al.
patent: 4959860 (1990-09-01), Watters et al.
patent: 5150407 (1992-09-01), Chan
patent: 5325532 (1994-06-01), Crosswy et al.
patent: 5327531 (1994-07-01), Bealkowski et al.
patent: 5375243 (1994-12-01), Parzych et al.
patent: 5377343 (1994-12-01), Yaezawa
patent: 5388267 (1995-02-01), Chan et al.
patent: 5544356 (1996-08-01), Robinson et al.
patent: 5557783 (1996-09-01), Oktay et al.
patent: 5603055 (1997-02-01), Evoy et al.
patent: 5870520 (1999-02-01), Lee et al.
patent: 5889987 (1999-03-01), Nelson et al.
patent: 5937434 (1999-08-01), Hasbun et al.
patent: 5944820 (1999-08-01), Beelitz
patent: 5951685 (1999-09-01), Stancil
patent: 5951686 (1999-09-01), McLaughlin et al.
patent: 5960445 (1999-09-01), Tamori et al.
patent: 5964873 (1999-10-01), Choi
patent: 5974528 (1999-10-01), Tsai et al.
patent: 5987605 (1999-11-01), Hill et al.
patent: 5991875 (1999-11-01), Paul
Intel Corp.,Intel 486 SL Microprocessor SuperSet Programmer's Reference Manual, Nov. 1992, pp. 6-28—6-53.
Philips Semiconductors, I2C Spec. Information—The I2C Bus and how to use it (including specifications), 1993.
Intel Corp., System Management Bus Specification, Apr. 21, 1994 (Rev. 0.95).
Cates, Ron, et al., Charge NiCd and NiMH Batteries Properly, Electronic Design, Jun. 10, 1996, pp. 118, 120, 122.
EET Special Edition. Part 2: Batteries—Power Technologies, Elec. Eng. Times, Apr. 8, 1996, pp. 39-82.
Intel Corp., , chapter 20 System management Mode, pp. 20-1-20-9, 1994.
Compaq Computer Corporation, Phoenix Technologies Ltd., and Intel Corporation, Preliminary Plug and Play BIOS Specification, Version 1.0A. p. 7-64, Mar. 10, 1994.
Microchip Data Sheet Manual, PIC16C5X EPROM/ROM-Based 8-Bit CMOS Microcontroller Series (1995-1996).
Siemens Components, Inc., Advertisement for SAB88C166 with on-board flash

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Computer method and apparatus to force boot block recovery does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Computer method and apparatus to force boot block recovery, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Computer method and apparatus to force boot block recovery will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2870415

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.