Non-volatile disk cache
First Claim
1. An apparatus in a computer system for storing data from a volatile cache during a power loss in the computer system comprising:
- a. a volatile cache memory;
b. an electrically erasable programmable read-only memory (EEPROM) for receiving the contents of said volatile cache memory during said power loss;
c. a means for detecting the power loss in the computer system;
d. a means for copying the data contained in the volatile cache memory to the EEPROM upon detection of the power loss, wherein the means for copying copies only the data which has not been written-back to a device coupled to the volatile cache memory, the copying means coupled to the volatile cache memory, the EEPROM, and the detecting means; and
e. a means for powering coupled to the volatile cache memory and the copying means, the means for powering being independent of the computer system power wherein said means for powering has sufficient capacity to power said volatile cache memory and said copying means for the duration of an operation to copy the contents of said volatile cache memory to said EEPROM upon said detection of said power loss.
0 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus in a computer system for storing data from a volatile cache during a power loss. The apparatus comprises a volatile cache memory and a non-volatile memory. In a preferred embodiment, the non-volatile memory is an electrically erasable programmable read-only memory. The device further comprises power loss detection logic which detects the power loss in the computer system and copy control logic which copies the data contained in the volatile cache memory to the non-volatile memory upon detection of the power loss. The copy control logic is coupled to the volatile cache, the non-volatile memory, and the power loss detection logic. In a preferred embodiment, the copy control logic and the power loss detection logic comprise a microcontroller. The device lastly comprises a power source coupled to the volatile cache memory and the copy control logic, the power source being independent of the computer system power. In a preferred embodiment, the power source comprises a battery coupled to the microcontroller and the volatile and non-volatile memories. Methods are provided to copy to and restore data from a non-volatile memory when computer system power is lost or restored.
-
Citations
18 Claims
-
1. An apparatus in a computer system for storing data from a volatile cache during a power loss in the computer system comprising:
-
a. a volatile cache memory; b. an electrically erasable programmable read-only memory (EEPROM) for receiving the contents of said volatile cache memory during said power loss; c. a means for detecting the power loss in the computer system; d. a means for copying the data contained in the volatile cache memory to the EEPROM upon detection of the power loss, wherein the means for copying copies only the data which has not been written-back to a device coupled to the volatile cache memory, the copying means coupled to the volatile cache memory, the EEPROM, and the detecting means; and e. a means for powering coupled to the volatile cache memory and the copying means, the means for powering being independent of the computer system power wherein said means for powering has sufficient capacity to power said volatile cache memory and said copying means for the duration of an operation to copy the contents of said volatile cache memory to said EEPROM upon said detection of said power loss. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method of restoring the data contained in an electrically erasable programmable read-only memory (EEPROM) to a computer system device coupled to a computer system comprising:
-
a. determining a last location in the EEPROM at which valid device data resided; b. writing to the device all data starting at the last location which was modified but not written to the device contained in the EEPROM; c. determining whether there is sufficient memory in the EEPROM to store additional data from a volatile cache memory coupled to the EEPROM, and if there is not, erasing the EEPROM; and d. determining whether the number of erasures of the EEPROM has exceeded a first value, and if it has, inhibiting the computer system from writing to the EEPROM.
-
-
7. An apparatus for use in a computer system comprising:
-
a. a volatile cache memory; b. a non-volatile memory for receiving data contained in said volatile cache memory during a power interruption; c. a detection circuit for detecting said power interruption in said computer system; d. a copying circuit coupled to said volatile cache, said non-volatile memory, and said detection circuit, said copying circuit for copying a first set of data contained in said volatile cache memory to said non-volatile memory upon detection of said power interruption, wherein said first set of data includes only data that has not been written-back to a device coupled to said volatile cache memory; and e. a power circuit coupled to said volatile cache memory, said non-volatile memory and said copying circuit, said power circuit being independent of said computer system power and having sufficient capacity to power said volatile cache memory and said copying circuit for the duration of an operation to copy said first set of data contained in said volatile cache memory to said non-volatile memory upon said detection of said power interruption. - View Dependent Claims (8, 9, 10)
-
-
11. A computer system comprising:
-
a. a volatile cache memory; b. a non-volatile memory for receiving contents of said volatile cache memory during a power interruption; c. a detection circuit for detecting said power interruption in said computer system; d. a copying circuit coupled to said volatile cache, said non-volatile memory, and said detection circuit, said copying circuit for copying said contents contained in said volatile cache memory to said non-volatile memory upon detection of said power interruption, wherein said copying circuit copies only contents of said volatile cache memory which have not been written-back to a device coupled to said volatile cache memory; and e. a power circuit coupled to said volatile cache memory, said non-volatile memory and said copying circuit, said power circuit being independent of said computer system power and having sufficient capacity to power said volatile cache memory and said copying circuit for the duration of an operation to copy said contents of said volatile cache memory to said non-volatile memory upon said detection of said power interruption. - View Dependent Claims (12, 13, 14)
-
-
15. A method in a computer system of storing the data contained in a volatile cache for a device coupled to the computer system to an electrically erasable programmable read-only memory (EEPROM) upon losing computer system power comprising the following steps:
-
a. detecting a power loss in the computer system; b. determining a first location in the EEPROM, the first location being the last location in the EEPROM at which data was written; and c. writing a first set of data from the volatile cache into the EEPROM starting at the last location, the first set of data comprising only data which has been modified but has not been written to the device. - View Dependent Claims (16, 17, 18)
-
Specification