Method and apparatus for maintaining and retrieving live data in a posted write cache in case of power failure
First Claim
1. A data controller for receiving and temporarily storing data intended for a disk drive system and for transferring the data to the disk drive system, the data being considered dirty before being written to the disk drive system, wherein the data controller receives primary power during normal operation from a host computer, said data controller comprising:
- cache memory for storing both dirty data and a predetermined cache signature;
battery means coupled to said cache memory for maintaining both said dirty data and said cache signature in said cache memory in the event of a failure of the primary power; and
means coupled to said cache memory for controlling data flow between the host computer, said cache memory and the disk drive system, said data flow controlling means including;
means for receiving dirty data and for writing the dirty data and said cache signature to said cache memory,means receiving a dirty data indication for flushing any dirty data in said cache memory to the disk drive system, andmeans for retrieving said cache signature from said cache memory upon power up of the host computer and the data controller, for determining if said cache signature is valid, and for providing said dirty data indication if said cache signature is valid.
3 Assignments
0 Petitions
Accused Products
Abstract
A host computer including a posted write cache for a disk drive system where the posted write cache includes battery backup to protect against potential loss of data in case of a power failure, and also including means for performing a method for determining if live data is present in the posted write cache upon power-up. The posted write cache is further mirrored and parity-checked to assure data validity. Performance increase is achieved since during normal operation data is written to the much faster cache and a completion indication is returned, and the data is flushed to the slower disk drive system at a more opportune time. Batteries provide power to the posted write cache in the event of a power failure. Upon subsequent power-up, a cache signature previously written in the posted write cache indicates that live data still resides in the posted write cache. If the cache signature is not present and the batteries are not fully discharged, a normal power up condition exists. If the cache signature is not present and the batteries are fully discharged, then the user is warned of possible data loss. A configuration identification code assures a proper correspondence between the posted write cache board and the disk drive system. A mirror test executed to verify data validity. Temporary and permanent error conditions are monitored so that posted write operations are only enabled when error-free operation is assured.
200 Citations
27 Claims
-
1. A data controller for receiving and temporarily storing data intended for a disk drive system and for transferring the data to the disk drive system, the data being considered dirty before being written to the disk drive system, wherein the data controller receives primary power during normal operation from a host computer, said data controller comprising:
-
cache memory for storing both dirty data and a predetermined cache signature; battery means coupled to said cache memory for maintaining both said dirty data and said cache signature in said cache memory in the event of a failure of the primary power; and means coupled to said cache memory for controlling data flow between the host computer, said cache memory and the disk drive system, said data flow controlling means including; means for receiving dirty data and for writing the dirty data and said cache signature to said cache memory, means receiving a dirty data indication for flushing any dirty data in said cache memory to the disk drive system, and means for retrieving said cache signature from said cache memory upon power up of the host computer and the data controller, for determining if said cache signature is valid, and for providing said dirty data indication if said cache signature is valid. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A method for determining if dirty data exists in a posted write cache upon power up of a computer system including a data controller and a disk drive system, wherein data intended for the disk drive system is received, temporarily stored in the posted write cache and transferred to the disk drive system, the data being considered dirty before being written to the disk drive system, wherein the computer system provides primary power to the data controller which includes the posted write cache, controllable means responsive to an enable condition for implementing posted write operations wherein dirty data is temporarily stored in the posted write cache, and a battery means for maintaining data in the posted write cache in the event primary power fails, said method comprising the steps of:
-
writing a predetermined cache signature into the posted write cache at a predetermined location; writing dirty data into the posted write cache; if a dirty data indication indicates dirty data is in the posted write cache, flushing the dirty data from the posted write cache to the disk drive system; upon power up of the computer system, retrieving the cache signature from the posted write cache; verifying the cache signature to a predetermined cache signature; and if the cache signature is verified, providing the dirty data indication. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
Specification