Patent EP0573307A2 successfully refreshed from Google Patents.
← Back to Patent Explorer
EP0573307A2 Expired / Lapsed EP ⏱️ 0.0 years remaining

Method and apparatus for maintaining and retrieving live data in a posted write cache in case of power failure

Assignee: Compaq Computer Corp
•
Filing: 1993-06-04
•
Granted: —
•
Expires: 2013-06-04
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

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.

Inventors

  • 👤 Stephen M. Schultz
  • 👤 Randy D. Schneider

Bibliographic Details

Application Number —
Jurisdiction EP
Data Source google_patents
Last Synchronized 2026-11-04 13:00
CPC Classifications
G; G11; G11C; G11C29/00; G11C29/70; G11C29/88; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0866; G06F11/00; G06F11/07; G06F11/0703; G06F11/0751; G06F11/0754; G06F11/14; G06F11/1402; G06F11/1415; G11C29/74

Claims Analysis

Total Claims: 27
Claim 1
Independent Claim 208 words
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 dirty data and a predetermined cache signature; battery means coupled to said cache memory for maintaining 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.
Claim 2
Dependent Claim 46 words
The data controller of claim 1, wherein said data flow controlling means further includes means for initializing said cache memory, wherein if said cache signature is not valid upon power up, said data initializing means initializes said cache memory, said initializing including writing said cache signature.
Claim 3
Dependent Claim 31 words
The data controller of claim 1, further comprising: battery monitoring means coupled to said battery means for providing a battery charge signal indicative of the charge level of said battery means.
Claim 4
Dependent Claim 81 words
The data controller of claim 3, wherein said data flow controlling means further comprises: means coupled to said battery charge signal for determining if the charge level of said battery means is below a first predetermined level; and means for providing a warning message to the host computer if said cache signature is not valid and if the charge level of said battery means is below said first predetermined level upon power up of the host computer and the data controller.
Claim 5
Dependent Claim 46 words
The data controller of claim 4, wherein said data flow controlling means further includes: controllable means for utilizing dirty data written to said cache memory for performing posted write operations, responsive to an enable indication; and means for indicating enabling or disabling of posted write operations.
Claim 6
Dependent Claim 59 words
The data controller of claim 5, further comprising: means coupled to said battery charge signal for determining if the charge level of said battery means is below a second predetermined level; and wherein while the charge level of said battery means is below said second predetermined level, said enabling or disabling indicating means indicates posted write operations are disabled.
Claim 7
Dependent Claim 51 words
The data controller of claim 6, wherein if said cache signature is not valid and the charge level of said battery means is above said second predetermined level upon power up of the host computer and the data controller, said enabling or disabling indicating means indicates posted write operations are enabled.
Claim 8
Dependent Claim 108 words
The data controller of claim 1, wherein said data flow controlling means further comprises: said flushing means further including means for determining when all the dirty data is flushed from said cache memory; and means coupled to cache memory writing means and said means for determining when all the dirty data is flushed from said cache memory for placing said battery means in and out of standby mode, wherein said battery means is placed in standby mode when dirty data is written to said cache memory and wherein said battery means is placed out of standby mode when all dirty data within said cache memory has been flushed.
Claim 9
Dependent Claim 36 words
The data controller of claim 1, wherein said cache memory further stores status information of the dirty data indicating whether the data is dirty and indicating the location of the dirty data within said cache memory.
Claim 10
Dependent Claim 46 words
The data controller of claim 1, wherein said data flow controlling means further includes: controllable means for utilizing dirty data written to said cache memory for performing posted write operations, responsive to an enable indication; and means for indicating enabling or disabling of posted write operations.
Claim 11
Dependent Claim 50 words
The data controller of claim 10, wherein: said cache memory is mirrored having a first half and a mirrored half, wherein said cache memory stores the dirty data in said first half and further stores a duplicate copy of the dirty data in said mirrored half of said cache memory.
Claim 12
Dependent Claim 59 words
The data controller of claim 11, wherein said data flow controller further comprises: means for performing a mirror test wherein all of said first copy of the dirty data within said first half of said cache memory is compared with said corresponding portions of said duplicate copy of the dirty data in said mirrored half of said cache memory.
Claim 13
Dependent Claim 79 words
The data controller of claim 12, wherein if said cache signature is valid, said mirror test performing means performs said mirror test and if said mirror test fails wherein said first copy is not equal to said duplicate copy, said enabling or disabling indicating means indicates posted write operations are disabled, and if said mirror test passes wherein said first copy is equal to said duplicate copy, said enabling or disabling indicating means indicates posted write operations are enabled.
Claim 14
Dependent Claim 16 words
The data controller of claim 10, wherein said cache memory further stores dirty data parity information.
Claim 15
Dependent Claim 52 words
The data controller of claim 14, wherein said data flow controlling means further comprises: means for detecting parity errors when writing dirty data to and when flushing dirty data from said cache memory, wherein if a parity error is detected, said enabling or disabling indicating means indicates posted write operations are disabled.
Claim 16
Dependent Claim 91 words
The data controller of claim 10, wherein said cache memory further stores an identification number and the disk drive system stores a copy of said identification number; and wherein said cache signature retrieving means further includes means for retrieving and comparing said identification codes from said cache memory and the disk drive system, wherein if said identification codes match, said enabling or disabling indicating means indicates posted write operations are enabled and if said identification codes do not match, said enabling or disabling indicating means indicates posted write operations are disabled.
Claim 17
Independent Claim 217 words
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.
Claim 18
Dependent Claim 22 words
The method of claim 17, further comprising the step of initializing the posted write cache if the cache signature is not verified.
Claim 19
Dependent Claim 26 words
The method of claim 17, after said step of verifying the cache signature, further comprising the step of checking the charge status of the battery means.
Claim 20
Dependent Claim 55 words
The method of claim 19, after said step of checking the charge status of the battery means, further comprising the step of: warning the user of the computer system of possible data loss if the charge level of the battery means is below a first predetermined level and if the cache signature is not found.
Claim 21
Dependent Claim 42 words
The method of claim 19, after said step of checking the charge status of the battery means, further comprising the step of: indicating posted write operations are disabled if the charge level of the battery means is below a second predetermined level.
Claim 22
Dependent Claim 50 words
The method of claim 19, after said step of checking the charge status of the battery means, further comprising the step of: indicating posted write operations are enabled if the charge level of the battery means is above a second predetermined level and if the cache signature is not found.
Claim 23
Dependent Claim 74 words
The method of claim 17, wherein the computer system includes apparatus for switching on and off the battery means, said method further comprising the steps of: after said step of writing dirty data into the posted write cache, switching on the battery means; after said flushing step, determining if more dirty data exists in the posted write cache and switching off the battery means if the posted write cache does not contain dirty data.
Claim 24
Dependent Claim 120 words
The method of claim 17, wherein the posted write cache is in a mirrored configuration, the method further comprising the steps of: after said cache signature writing step, writing a duplicate copy of the cache signature into a mirrored location in the posted write cache; after said writing dirty data step, writing a duplicate copy of the dirty data into a corresponding mirrored location in the posted write cache; and after said verifying step, if the cache signature is verified, searching the posted write cache for dirty data; and reading the dirty data and its duplicated copy from the posted write cache and comparing the dirty data with its duplicate copy if dirty data is found in said searching step.
Claim 25
Dependent Claim 43 words
The method of claim 24, further comprising the steps of: indicating posted write operations are enabled if the dirty data and its duplicate copy match; and indicating posted write operations are disabled if the dirty data and its duplicate copy do not match.
Claim 26
Dependent Claim 58 words
The method of claim 24, wherein the posted write cache further stores dirty data parity information, further comprising the steps of: during said reading and comparing step, checking for parity errors; and indicating posted write operations are disabled if a parity error occurs reading a portion of the dirty data and the corresponding portion of its mirrored copy.
Claim 27
Dependent Claim 123 words
The method of claim 17, further comprising the steps of: writing a first copy of an identification code to the disk drive system and writing a second copy to the posted write cache; after power up of the computer system, reading the first and second copies of the identification code from the disk drive system and the posted write cache; after said identification code reading step, comparing the first and second copies of the identification code; indicating posted write operations are disabled and providing a warning message to the computer system if the first and second copies of the identification code do not match; and indicating posted write operations are enabled if the first and second copies of the identification code do match.

References Cited (Backward Citations)

No citation records indexed.

USPTO Annuity & Maintenance Windows

Maintenance schedule is calculated for granted US utility patents.

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag