Firehose dump of SRAM write cache data to non-volatile memory using a supercap
First Claim
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.
0 Assignments
0 Petitions
Accused Products
Abstract
A mechanism is provided 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. Responsive an indication of a power event in the hard disk drive, hard disk drive command processing is suspended. A token is set in the non-volatile storage indicating that flash memory in the non-volatile memory contains modified data. A portion of a static random access memory cache table containing information on the modified data in the static random access memory is copied to the flash memory. The modified data from the static random access memory is then copied to the flash memory. Responsive to a determination that the power event that initiated the copy of the modified data in the static random access memory to the flash memory is still present, the hard disk drive is shut down.
15 Citations
19 Claims
-
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. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. An apparatus comprising:
-
a processor; and a memory coupled to the processor, wherein the memory comprises instructions which, when executed by the processor, cause the processor to; receive an indication of the power event in the hard disk drive; suspend command processing in the hard disk drive; set a token in the non-volatile storage indicating that a flash memory in the non-volatile memory contains the modified data; copy 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; copy the modified data from he static random access memory to the flash memory; determine 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, shut down the hard disk drive; responsive to the power event that initiated the copy failing to be present, synchronize the modified data in the static random access memory with a rotating magnetic disk of the hard disk drive; erase all data stored in the flash memory; set the token in the non-volatile memory to indicate that the flash memory has been erased; determining whether a new power event has occurred; responsive to an absence of the new power event, determine 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, create sense data that indicates a temporary power event was detected; present 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; present the sense data to each host that has an outstanding command awaiting execution with the hard disk drive; and resume normal command processing. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A computer program product comprising a non-transitory computer readable storage medium having a computer readable program recorded thereon, wherein the computer readable program, when executed on a computing device, causes the computing device to:
-
receive an indication of the power event in the hard disk drive; suspend command processing in the hard disk drive; set a token in the non-volatile storage indicating that a flash memory in the non-volatile memory contains the modified data; copy 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; copy the modified data from the static random access memory to the flash memory; determine 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, shut down the hard disk drive; responsive to the power event that initiated the copy failing to be present, synchronize the modified data in the static random access memory with a rotating magnetic disk of the hard disk drive; erase all data stored in the flash memory; set the token in the non-volatile memory to indicate that the flash memory has been erased; determine whether a new power event has occurred; responsive to an absence of the new power event, determine 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, create sense data that indicates a temporary power event was detected; present 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; present the sense data to each host that has an outstanding command awaiting execution with the hard disk drive; and resume normal command processing. - View Dependent Claims (15, 16, 17, 18, 19)
-
Specification