Methods and devices for restoring a portion of a data store
First Claim
Patent Images
1. A method for restoring a first portion of a plurality of units of storage, the method comprising:
- recording in a time store information associated with all write commands directed to the plurality of units of storage, the recorded information including old data copied from a current store representing a current state of the plurality of units of storage and associated timestamps, wherein old data overwritten in response to each of the write commands is timestamped in the time store, thereby continuously indexing by timestamp old data to be overwritten with new data in the plurality of units of storage by write command prior to execution of each write command, the time store and the current store being separate from the plurality of units of storage and from each other, wherein the at least one time store does not store the new data;
receiving a request to restore the first portion of the plurality of units of storage at a specified past time;
storing, in the first portion of the plurality of units of storage, the old data that was stored in the first portion of the plurality of units of storage at the specified past time and that was overwritten since the specified past time, wherein the first portion of the plurality of units of storage is restored based at least in part on the recorded information and the current store, without the use of a snapshot that includes the old data at the specified past time.
8 Assignments
0 Petitions
Accused Products
Abstract
A storage management device receives a request to restore a portion of a data store to its content at a specified past time, which is selected from a substantially continuous time interval. In response to the received request, the storage management device stores in the portion of the data store content that was stored in the portion of the data store at the specified past time and that was overwritten since the specified past time.
334 Citations
20 Claims
-
1. A method for restoring a first portion of a plurality of units of storage, the method comprising:
-
recording in a time store information associated with all write commands directed to the plurality of units of storage, the recorded information including old data copied from a current store representing a current state of the plurality of units of storage and associated timestamps, wherein old data overwritten in response to each of the write commands is timestamped in the time store, thereby continuously indexing by timestamp old data to be overwritten with new data in the plurality of units of storage by write command prior to execution of each write command, the time store and the current store being separate from the plurality of units of storage and from each other, wherein the at least one time store does not store the new data; receiving a request to restore the first portion of the plurality of units of storage at a specified past time; storing, in the first portion of the plurality of units of storage, the old data that was stored in the first portion of the plurality of units of storage at the specified past time and that was overwritten since the specified past time, wherein the first portion of the plurality of units of storage is restored based at least in part on the recorded information and the current store, without the use of a snapshot that includes the old data at the specified past time. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A method for restoring a first portion of a plurality of units of storage, the method comprising:
-
recording in a time store information associated with all write commands directed to the plurality of units of storage, the recorded information including old data copied from a current store representing a current state of the plurality of units of storage and associated timestamps, wherein old data overwritten in response to each of the write commands is timestamped in the time store, thereby continuously indexing by timestamp old data to be overwritten with new data in the plurality of units of storage by write command prior to execution of each write command, the time store and the current store being separate from the plurality of units of storage and from each other, wherein the time store does not store the new data; receiving a request to restore the first portion of the plurality of units of storage at a specified past time, the request identifying less than the entire plurality of units of storage; and in response to the request, for each unit of storage in the first portion; determining whether such unit of storage was overwritten in an interval between the specified past time and a present time; and in response to the determining step, for each unit of storage determined to have been overwritten in the interval between the specified past time and the present time; locating a copy of the overwritten old data; storing in the determined unit of storage the located previously overwritten old data; and recording the occurrence of the storing step and an associated location of the unit of storage in the time store, without the use of a snapshot that includes the old data at the specified past time.
-
-
19. A device for restoring a portion of a plurality of units of storage, the device comprising:
-
a receiver configured to receive a request to restore the portion of a plurality of units of storage at a specified past time; and a storing module having access to a time store having records of information associated with all write commands directed to the plurality of units of storage and backed-up copies of old data overwritten in response to each of the write commands, the storing module being configured to store in the portion of the plurality of units of storage the old data that was stored in the portion of the plurality of units of storage at the specified past time and that was overwritten since the specified past time, and wherein the portion of the plurality of units of storage is restored without the use of a snapshot containing the old data at the specified past time based at least in part on the records of information and a current store representing a current state of the plurality of units of storage, the time store and the current store being separate from the plurality of units of storage and from each other, wherein the time store does not store the new data.
-
-
20. A method for backing up old data of a plurality of units of storage, the method comprising:
-
recording in a time store, automatically, information associated with all write commands directed to the plurality of units of storage, wherein each write command comprises an instruction to overwrite old data in at least one unit of storage with new data, the recorded information including the old data copied from a current store representing a current state of the plurality of units of storage and associated timestamps, wherein the time store does not store the new data; and copying, prior to overwriting the at least one unit of storage, the old data present at the at least one unit of storage into the time store, wherein the old data is timestamped, thereby continuously indexing by timestamp the old data to be overwritten by write command prior to execution of each write command, the time store and the current store being separate from the plurality of units of storage and from each other; and identifying the old data overwritten in the at least one unit of storage based at least in part upon an associated timestamp without the use of a snapshot that includes the old data at the specified past time.
-
Specification