System and method for maintaining persistent state data
First Claim
1. A method of preserving a data in a computer when a power loss occurs comprising:
- designating a range of system memory containing the data to be preserved in the event of the power loss by an application program via a software application program interface;
determining when the power loss has occurred;
copying the data to a non-volatile memory responsive to determining that the power loss has occurred; and
receiving an AddMemoryObj([in]MemoryRange) call via the software application program interface.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method for maintaining persistent data during an unexpected power loss uses a memory controller and a supplemental power source. An entity running on the computer, for example, an application program, a utility, the operating system or other entity, may identify data for preservation using an application program interface. The application program interface may be provided by the memory controller. A sensor determines when an unexpected power loss has occurred and signals the memory controller. Using power from the supplemental power source, i.e. a battery or capacitor, the memory controller copies the identified data to a non-volatile memory. The memory controller may set a flag to indicate that preserved data is available for later recovery.
-
Citations
19 Claims
-
1. A method of preserving a data in a computer when a power loss occurs comprising:
-
designating a range of system memory containing the data to be preserved in the event of the power loss by an application program via a software application program interface; determining when the power loss has occurred; copying the data to a non-volatile memory responsive to determining that the power loss has occurred; and receiving an AddMemoryObj([in]MemoryRange) call via the software application program interface. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer adapted for preserving data upon a power loss comprising:
-
a main power supply for receiving a line power and supplying energy to the computer; a first memory comprising a first data, the first data being a range of system memory; a non-volatile memory; a memory controller coupled to the first memory and the non-volatile memory for storing the first data in the non-volatile memory responsive to the signal, the memory controller supporting a software application program interface for receiving a designation of the first data, the software application program interface supporting an AddMemoryObj([in]MemoryRange) call; a sensor coupled to the main power supply and the memory controller, the sensor for sending a signal when the line power to the main power supply is interrupted; and a supplemental power source, the supplemental power source providing energy, at least temporarily, to one of the first memory, the non-volatile memory and the memory controller when the line power to the main power supply is interrupted. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A memory controller for use in a computer adapted for preserving data upon a power loss, the memory controller comprising:
-
a logic unit; a first input for receiving a signal indicative of the power loss; a second input for receiving supplemental power during the power loss; an application program interface for configuring an information corresponding to a first data to be preserved upon the power loss, the application program interface supporting receipt of an AddMemoryObj([in]MemoryRange) call designating a range of system memory as the data for preserving during a power loss; and a memory for storing the information. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
Specification