Error detection/correction and fault detection/recovery – Data processing system error or fault handling – Reliability and availability
Reexamination Certificate
2000-11-10
2004-03-30
Baderman, Scott (Department: 2184)
Error detection/correction and fault detection/recovery
Data processing system error or fault handling
Reliability and availability
C714S025000, C714S030000, C713S002000
Reexamination Certificate
active
06715106
ABSTRACT:
BACKGROUND
The disclosures herein relate generally to computer systems and more particularly to a method of detecting BIOS corruption in a computer system.
Computer systems require functional basic input/output system code, or “BIOS,” in order to boot. The BIOS code is stored in a flash memory, such as a flash EPROM or “EEPROM”, and is typically updated via an executable program that “flashes” the EEPROM, thus erasing the old BIOS image, and then reprograms the EEPROM with a new BIOS image. If this programming process is interrupted, for example, by a power failure, the BIOS will be only partially programmed, or corrupted, and therefore nonfunctional.
To enable recovery from the above-described situation, a special area of the BIOS flash RAM storage referred to as the “boot block” contains sufficient information to initiate the BIOS recovery process (“recovery code”). Because the boot block is “lockable”, the recovery code stored therein is generally not vulnerable to programming process interruptions and remains intact.
Currently, BIOS image corruption detection is accomplished by performing a cyclic redundancy check (“CRC”) on the BIOS image (or a predefined portion thereof) to calculate a CRC code therefor and then comparing the calculated CRC code to a CRC code for the image (or predefined portion) stored in the boot block. To complete the CRC check in a user-acceptable time, many of the early POST procedures, such as chipset initialization and memory configuration, are performed first; i.e., prior to computing the CRC code, using code stored in the boot block (“boot block POST code”). After the CRC code has been calculated and compared, if the BIOS image is intact (i.e., not corrupt), many of the same procedures must be performed again using code from a non-protected flash memory area (“BIOS POST code”) to ensure that up-to-date BIOS code is being used. This is because it is possible that the boot block POST code and the BIOS POST code may be different, in which case the BIOS POST code will be more up-to-date. The difficulty in keeping code stored in the boot block area sufficiently up-to-date to enable the CRC code to be calculated results in the code being reprogrammed on every flash update, thus voiding the protection mechanism.
Therefore, what is needed is a method of detecting corruption of the BIOS code that does not require CRC checking or reprogramming of the boot block upon each reprogramming of the BIOS code.
SUMMARY
One embodiment accordingly, provides for detecting a corrupt basic input/output system (BIOS) stored in a flash memory device of a computer. Responsive to the computer being booted, it is determined whether a first byte of the BIOS is programmed. Responsive to that determination, it is determined whether a last byte of the BIOS is programmed. Further, responsive to the last byte determination, it is concluded that the BIOS is not corrupt and normal POST procedures are carried out.
A principal advantage of this embodiment is that it does not require the boot block to be erased and reprogrammed each time the BIOS code is reprogrammed, thereby maintaining the integrity of this portion of the BIOS code as originally intended.
Another advantage of this embodiment is that it is faster and more efficient than the methods of BIOS corruption detection that employ CRC codes.
REFERENCES:
patent: 5388267 (1995-02-01), Chan et al.
patent: 5758170 (1998-05-01), Woodward et al.
patent: 5835761 (1998-11-01), Ishii et al.
patent: 5864698 (1999-01-01), Krau et al.
patent: 5964873 (1999-10-01), Choi
patent: 6185696 (2001-02-01), Noll
patent: 6308265 (2001-10-01), Miller
patent: 6393559 (2002-05-01), Alexander
patent: 6459624 (2002-10-01), Kuo
patent: 6487464 (2002-11-01), Martinez et al.
patent: 6625730 (2003-09-01), Angelo et al.
patent: 6629259 (2003-09-01), Lee
Baderman Scott
Damiano Anne L.
Dell Products L.P.
Haynes and Boone LLP
LandOfFree
Bios corruption detection system and method does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Bios corruption detection system and method, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Bios corruption detection system and method will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3238806