Error detection/correction and fault detection/recovery – Data processing system error or fault handling – Reliability and availability
Reexamination Certificate
1999-02-04
2002-05-21
Ray, Gopal C. (Department: 2181)
Error detection/correction and fault detection/recovery
Data processing system error or fault handling
Reliability and availability
C713S002000, C713S001000
Reexamination Certificate
active
06393586
ABSTRACT:
BACKGROUND
The disclosure herein relates generally to personal computers (“PCS”) and, more particularly, to a method and apparatus for diagnosing and conveying the identity of a hanging test or initialization in POST on a non-booting or hanging PC and for identifying a failure in a no-POST
o-video PC without requiring user intervention.
During the boot sequence of a PC, if the PC encounters a critical or catastrophic failure, there is currently no simple, reliable mechanism for alerting the user or a technician to the cause thereof. If the failure locks up the PC prior to video initialization, the PC will appear to be dead. After video installation, the PC displays what has already been tested in POST, but does not display the current, “hanging,” test. Any failure that causes the PC to hang is reset when the PC is rebooted, so POST continues down the original path to the hanging test with no notification.
Error conditions in POST are conventionally indicated by one or both of audio tones provided through a speaker of the PC and text messages written to the video display of a PC. For example, most BIOS systems for PCS are configured to provide a beep tone if a portion of a POST routine has failed. As another example, most PCS have pre-stored error messages that are accessed and displayed if certain error conditions are encountered.
Beyond beep tones and pre-stored error messages, many current PCS make more detailed information available to a user by writing to an I/O port, typically I/O address port 0080h (“port 80h”). Such detailed information may be accessed by a user by installation of a special expansion card, called a POST or a “Port 80,” card. Installation of a POST card, however, requires removing the PC's cover and installing the card in one of the expansion slots typically provided within the chassis of the PC. The installation and configuration of expansion cards is a task beyond the expertise of most computer users.
Other methods exist for diagnosing PC board-level problems, such as logic analyzers, in-circuit analyzers, oscilloscopes, and diagnostic LEDs; however, each of these methods is expensive and requires user-intervention to determine the cause of the problem.
It is clear from the foregoing that there is currently no reliable method for alerting a user of the nature of a failure if a reboot is required to restart the PC. Accordingly, it is likely that the user will attempt to replace parts until the failure is resolved or will be required to bring the PC in to undergo failure analysis using expensive, specialized debugging and analysis equipment.
Therefore, what is needed is a method for determining the extent and probable cause of a critical failure during the boot sequence of a PC without requiring direct contact with the PC to allow for correct parts dispatch to resolve the problem with only one dispatch and at the lowest cost and within the shortest time frame.
SUMMARY
One embodiment, accordingly, is a method and apparatus for conveniently diagnosing and conveying to a user the cause of a failure during POST of a non-booting PC. In one embodiment, when a code identifying (“ID code”) a test or initialization process (hereinafter collectively “POST procedure”) is written to port 80h, the ID code is also written into a byte designated a “POST code field” in a non-volatile storage device, such as a flash ROM or CMOS device. If the PC “hangs” prior to completion of POST, there will be a non-zero byte in the POST code field identifying which POST procedure resulted in the hang. Accordingly, if during boot-up of the PC, a non-zero byte is detected in the POST code field, indicating that the previous boot failed, the byte, or ID code, will be beeped to the user to identify the POST procedure that caused the PC to hang. Using a published port 80h code listing, the user or technician will be able to determine what procedure POST was attempting to execute when the hang-up occurred.
Upon successful completion of the POST sequence and prior to INT18h/INT19h operating system boot, the POST code field is set to zero to signal POST completion without catastrophic error. Accordingly, the POST process is able to continue through the normal sequence and flag any non-catastrophic errors as it normally does and will pinpoint any catastrophic errors that require a reboot.
In an alternative embodiment, after the ID code identifying the next POST procedure to be performed has been written to port 80h and to the POST code field, a timeout value representing the maximum amount of time required to complete the upcoming POST procedure is added to a watchdog timer. At that point, the POST procedure is initiated. If the watchdog timer times out, the PC will automatically re-boot. Upon re-boot, if the value stored in the POST code field is non-zero, indicating that the watchdog timer triggered and a catastrophic failure has occurred, the POST code field value will be beeped as a message to the user, as described above. In addition, during this second boot, POST can continue to proceed until it hits the hanging POST procedure identified by the beeped value. Based on the functionality, POST can determine whether to skip the hanging POST procedure or automatically enter a more granular, in-depth, test for that procedure, again using the watchdog timer to avoid infinite POST loops.
A technical advantage achieved is that the embodiments provide an inexpensive, easy, and convenient method of diagnosing and remedying catastrophic failures occurring during boot-up of a PC.
A technical advantage achieved with the alternative embodiment is that the ID code identifying the hanging POST procedure is communicated to the user without requiring the user to re-boot the PC.
Another technical advantage achieved with the alternative embodiment is that it provides the ability to automatically recover from or delve more deeply into a hanging POST procedure.
REFERENCES:
patent: 5245615 (1993-09-01), Treu
patent: 5379436 (1995-01-01), Tanaka
patent: 5491788 (1996-02-01), Cepulis et al.
patent: 5528516 (1996-06-01), Yemini et al.
patent: 5535330 (1996-07-01), Bell
patent: 5596711 (1997-01-01), Burckhartt et al.
patent: 5640562 (1997-06-01), Wold et al.
patent: 5646535 (1997-07-01), Dornier
patent: 5661668 (1997-08-01), Yemini et al.
patent: 5732268 (1998-03-01), Bizzarri
patent: 5764882 (1998-06-01), Shingo
patent: 5794054 (1998-08-01), Le et al.
patent: 6122734 (2000-09-01), Jeon
Sloan Jeff
Springer David
Sullivan Tim
Dell USA L.P.
Haynes and Boone LLP
Ray Gopal C.
LandOfFree
Method and apparatus for diagnosing and conveying an... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Method and apparatus for diagnosing and conveying an..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for diagnosing and conveying an... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2837571