Virtual data store creation and use
First Claim
Patent Images
1. A method for providing data, the method comprising the steps of:
- storing, in an original data store, details associated with all write commands directed to a primary data store during a time interval so as to accumulate backup data, each write command being stored when directed to the primary data store, wherein the details associated with all write commands comprise an overwrite timestamp parameter, a primary data store location parameter, an original data store location parameter, and an overwritten data parameter;
receiving a request to create a virtual data store that reflects a state of the primary data store at a specified time, the specified time being any point in time during the time interval that occurs prior to the creation of a snapshot of the primary data store;
creating the virtual data store from data stored in the original data store;
receiving a storage protocol request for data at a specified address in the virtual data store; and
transmitting the requested data in response to the storage protocol request.
9 Assignments
0 Petitions
Accused Products
Abstract
A method, apparatus, and system for accessing units of storage that depends at least in part on an address of the unit of storage and the time that data was written to the unit of storage. A virtual data store can be created that reflects the state of an original data store at a specified time, where the specified time is selected, for example, from a substantially continuous time interval.
-
Citations
46 Claims
-
1. A method for providing data, the method comprising the steps of:
-
storing, in an original data store, details associated with all write commands directed to a primary data store during a time interval so as to accumulate backup data, each write command being stored when directed to the primary data store, wherein the details associated with all write commands comprise an overwrite timestamp parameter, a primary data store location parameter, an original data store location parameter, and an overwritten data parameter; receiving a request to create a virtual data store that reflects a state of the primary data store at a specified time, the specified time being any point in time during the time interval that occurs prior to the creation of a snapshot of the primary data store; creating the virtual data store from data stored in the original data store; receiving a storage protocol request for data at a specified address in the virtual data store; and transmitting the requested data in response to the storage protocol request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. A method for providing data, the method comprising the steps of:
-
storing, in an original data store, details associated with all write commands directed to a primary data store during a time interval so as to accumulate backup data, each write command being stored when directed to the primary data store, wherein the details associated with all write commands comprise an overwrite timestamp parameter, a primary data store location parameter, an original data store location parameter, and an overwritten data parameter; receiving a request to create a virtual data store; generating, substantially instantaneously and from data stored in the original data store, the virtual data store that reflects the state of the primary data store at a specified time, the specified time being any point in time during the time interval that occurs prior to the creation of a snapshot of the primary data store; receiving a storage protocol request for data at a specified address in the virtual data store; and transmitting the requested data in response to the storage protocol request. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35)
-
-
36. An article of manufacture having computer-readable program portions contained therein for providing data, the article comprising:
-
a computer-readable program portion for storing, in an original data store, details associated with all write commands directed to a primary data store during a time interval so as to accumulate backup data, each write command being stored when directed to the primary data store, wherein the details associated with all write commands comprise an overwrite timestamp parameter, a primary data store location parameter, an original data store location parameter, and an overwritten data parameter; a computer-readable program portion for receiving a request to create a virtual data store that reflects a state of the primary data store at a specified time, the specified time being any point in time during the time interval that occurs prior to the creation of a snapshot of the primary data store; a computer-readable program portion for creating the virtual data store from data stored in the original data store; a computer-readable program portion for receiving a storage protocol request for data at a specified address in the virtual data store; and a computer-readable program portion for transmitting the requested data in response to the storage protocol request.
-
-
37. A system for providing data, comprising:
-
an original data store that stores details associated with all write commands directed to a primary data store during a time interval so as to accumulate backup data, each write command being stored when directed to the primary data store, wherein the details associated with all write commands comprise an overwrite timestamp parameter, a primary data store location parameter, an original data store location parameter, and an overwritten data parameter; a virtual data store that reflects a state of the primary data store at a specified time, the specified time being any point in time during the time interval that occurs prior to the creation of a snapshot of the primary data store; a virtual data store generator that generates the virtual data store from data stored in the original data store; a receiver that receives a storage protocol request for data at a specified address in the virtual data store; and a transmitter that transmits the requested data in response to the storage protocol request. - View Dependent Claims (38, 39, 40, 41)
-
-
42. A method of receiving data from a data store, the method comprising the steps of:
-
selecting a specified time from any point in time during a time interval that occurs prior to the creation of a snapshot of a first logical unit; communicating to a storage device a request to create a virtual logical unit that reflects a state of the first logical unit at the specified time, wherein backup data associated with the first logical unit have been accumulated by storing details associated with all write commands directed to the first logical unit during the time interval, wherein each write command is stored when directed to the primary data store, and wherein the details associated with all write commands comprise an overwrite timestamp parameter, a primary data store location parameter, an original data store location parameter, and an overwritten data parameter; creating the virtual logical unit from the backup data and the first logical unit; communicating to the storage device a storage protocol request for data in the virtual logical unit; and receiving a response comprising the requested data as the data appeared in the first logical unit at the specified time. - View Dependent Claims (43, 44, 45)
-
-
46. An article of manufacture having computer-readable program portions contained therein for receiving data from a data store, the article comprising:
-
a computer-readable program portion for selecting a specified time from any point in time during a time interval that occurs prior to the creation of a snapshot of a first logical unit; a computer-readable program portion for communicating to a storage device a request to create a virtual logical unit that reflects a state of the first logical unit at the specified time, wherein backup data associated with the first logical unit have been accumulated by storing details associated with all write commands directed to the first logical unit during the time interval, wherein each write command is stored when directed to the primary data store, and wherein the details associated with all write commands comprise an overwrite timestamp parameter, a primary data store location parameter, an original data store location parameter, and an overwritten data parameter; a computer-readable program portion for creating the virtual logical unit from the backup data and the first logical unit; a computer-readable program portion for communicating to the storage device a storage protocol request for data in the virtual logical unit; and a computer-readable program portion for receiving a response comprising the requested data as the data appeared in the first logical unit at the specified time.
-
Specification