Stored memory recovery system
First Claim
1. A method of recovery to a saved memory state in a computer system having a memory, the method comprising:
- receiving a write request to a first memory location;
determining whether said first memory location contains protected data;
redirecting said write request to a second memory location if said first memory location contains protected data, thereby preserving the contents of the first memory location for a first recovery point; and
redirecting a subsequent write request to said second memory location to a third memory location, thereby preserving the contents of said second memory location for a second recovery point.
5 Assignments
0 Petitions
Accused Products
Abstract
Various embodiments of systems and methods for preserving saved memory states to which a computer system can be restored are disclosed. In certain embodiments, the systems and methods intercept write operations to protected memory locations and redirect them to alternate memory locations. Embodiments of the systems and methods include creation of a table for each memory state. Certain embodiments additionally include a recovery capability, by which the protected memory in the computer system is capable of being restored or recovered to a recovery point that represents a saved memory state. Further embodiments relate to systems and methods for preventing protected memory locations from being overwritten that utilize a plurality of memory state values.
106 Citations
61 Claims
-
1. A method of recovery to a saved memory state in a computer system having a memory, the method comprising:
-
receiving a write request to a first memory location;
determining whether said first memory location contains protected data;
redirecting said write request to a second memory location if said first memory location contains protected data, thereby preserving the contents of the first memory location for a first recovery point; and
redirecting a subsequent write request to said second memory location to a third memory location, thereby preserving the contents of said second memory location for a second recovery point. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method of storing a saved memory state in a computer system having a memory, the method comprising:
-
selecting a first addressable memory location as part of a first recovery point;
receiving a write request to said first addressable memory location;
redirecting said write request to a second addressable memory location;
selecting said second addressable memory location as part of a second recovery point; and
redirecting a subsequent write request to said second addressable memory location to a third addressable memory location. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A method of protecting a memory location from being overwritten, the method comprising:
-
creating a table of a status of at least one memory location;
receiving a write request to a first memory location;
determining if said first memory location contains protected data from a status of said first memory location in said table;
redirecting said write request to a second memory location if said first memory location contains protected data;
indicating a status of said second memory location in said table that said second memory location contains protected data;
redirecting a write request to said second memory location to a third memory location; and
indicating a status of said third memory location in said table that said third memory location contains protected data. - View Dependent Claims (18, 19)
-
-
20. A method of restoring a computer system to a saved memory state, the method comprising:
-
designating at least one memory location as recovery data associated with a first recovery point;
redirecting write requests to said at least one memory location to another memory location; and
recovering to said first recovery point by designating said at least one memory location and said another memory location as recovery data associated with a second recovery point. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. A computer operating system configured to preserve protected memory locations that reside on a computer system and recover to a recovery point that represents a saved state of said protected memory locations, the computer operating system comprising:
-
a table containing data indicating the status of protected memory locations, wherein said table is initialized to indicate an original state of said protected memory locations; and
a driver configured to;
receive a write request to a first memory location;
determine whether said first memory location is a protected memory location;
if said first memory location is a protected memory location, find a second memory location that has a status of not used;
update said table to indicate a used status of said second memory location;
redirect said write request from said first memory location to said second memory location; and
update said table to indicate a redirected status of said first memory location to said second memory location. - View Dependent Claims (32, 33, 34, 35, 36, 37, 38, 39)
-
-
40. A method of preserving protected memory locations that reside on a computer system and recovering to a recovery point that represents a saved state of said protected memory locations, the method comprising:
-
initializing a table containing data indicating the status of protected memory locations to indicate an original state of said protected memory locations;
receiving a write request to a first memory location;
determining whether said first memory location is a protected memory location;
if said first memory location is a protected memory location, finding a second memory location that has a status of not used;
updating said table to indicate a used status of said second memory location;
redirecting said write request from said first memory location to said second memory location; and
updating said table to indicate a redirected status of said first memory location to said second memory location. - View Dependent Claims (41, 42, 43, 44, 45)
-
-
46. A method of creating a plurality of tables in a computer system having protected memory locations, said plurality of tables representing a plurality of recovery points that represent saved states of said protected memory locations, the method comprising:
-
creating an initial table indicating an original state of protected memory locations, wherein said initial table is associated with an initial recovery point;
identifying a new recovery point representing a new state of said protected memory locations to be preserved;
creating a new table corresponding to said new recovery point, wherein said new table is a copy of said initial table;
comparing said new table to a most recently created previous table; and
if said new table indicates an unused status for a memory location for which a corresponding memory location of said previous table indicates a used status, updating said new table to indicate a status of protected for said memory location. - View Dependent Claims (47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 60, 61)
-
-
59. A computer readable storage medium having stored thereon instructions that when executed by a computer processor perform a method of recovery to a saved memory state in a computer system having a memory, the method comprising:
-
receiving a write request to a first memory location;
determining whether said first memory location contains protected data;
redirecting said write request to a second memory location if said first memory location contains protected data, thereby preserving the contents of the first memory location for a first recovery; and
redirecting a subsequent write request to said second memory location to a third memory location, thereby preserving the contents of said second memory location for a second recovery.
-
Specification