A system and method for logging and storing failure analysis information
on disk drive so that the information is readily and reliably available
to vendor customer service and other interested parties is provided. The
information, in an illustrative embodiment, is stored on a nonvolatile
(flash) random access memory (RAM), found generally in most types of disk
drives for storage of updateable disk drive firmware. A known location of
limited size is defined in the flash RAM, to form a scratchpad. This
scratchpad is a blank area of known addresses, formed during the original
firmware download onto the memory, and which is itself free of firmware
code. This scratchpad is sufficient in size to write a series of failure
codes in a non-erasable list as failures/errors (and user/administrator
attempts to unfail the disk) are logged. The log of failures always
travels with the drive, and can be read by the vendor to determine the
general nature of the most recent failure(s) and whether these failures
represent a problematic history for the drive.