Patent ID: 8495321
Filing Date: 2013-07-23
Classification: G06F,G11B

Abstract:
1. A method, in a data processing system, for firehose dumping modified data in a static random access memory of a hard disk drive to non-volatile memory of the hard disk drive during a power event, the method comprising: receiving an indication of the power event in the hard disk drive; suspending command processing in the hard disk drive; setting a token in the non-volatile storage indicating that a flash memory in the non-volatile memory contains the modified data; copying a portion of a static random access memory cache table containing information on the modified data in the static random access memory to the flash memory; copying the modified data from the static random access memory to the flash memory; determining whether the power event that initiated the copy of the modified data in the static random access memory to the flash memory is still present; responsive to the power event that initiated the copy still being present, shutting down the hard disk drive; responsive to the power event that initiated the copy failing to be present, synchronizing the modified data in the static random access memory with a rotating magnetic disk of the hard disk drive; erasing all data stored in the flash memory; setting the token in the non-volatile memory in indicate that the flash memory has been erased; determining whether a new power even has occurred; responsive to an absence of the new power event, determining whether a number of power events exceeds a predetermined threshold for power events; responsive to the number of power events failing to exceed the predetermined threshold for power events, creating sense data that indicates a temporary power event was detected; presenting the sense data to each host that interacts with the hard disk drive on a next command sent by the hard disk drive to each host; presenting the sense data to each host that has an outstanding command awaiting execution with the hard disk drive; and resuming normal command processing.