Storage systems using write off-loading
First Claim
Patent Images
1. A method of storing data comprising:
- receiving a request from a client to store data on a first storage device;
determining if defined criteria are met;
storing a most recent version of the data, if the defined criteria are met, on a second storage device and not on the first storage device by sending a write request to the second storage device, the second storage device comprising a circular log;
maintaining an identity of the second storage device amongst a set of identified storage devices in a hard state data structure;
maintaining logical block numbers for circular log blocks storing the data and a version number of the most recent version of the data in a soft state redirect data structure; and
maintaining locations of older versions of the data in the circular log in a soft state garbage data structure until the older versions are invalidated.
2 Assignments
0 Petitions
Accused Products
Abstract
Improved storage systems which use write off-loading are described. When a request to store some data in a particular storage location is received, if the particular storage location is unavailable, the data is stored in an alternative location. In an embodiment, the particular storage location may be unavailable because it is powered down or because it is overloaded. The data stored in the alternative location may be subsequently recovered and written to the particular storage location once it becomes available.
-
Citations
20 Claims
-
1. A method of storing data comprising:
-
receiving a request from a client to store data on a first storage device; determining if defined criteria are met; storing a most recent version of the data, if the defined criteria are met, on a second storage device and not on the first storage device by sending a write request to the second storage device, the second storage device comprising a circular log; maintaining an identity of the second storage device amongst a set of identified storage devices in a hard state data structure; maintaining logical block numbers for circular log blocks storing the data and a version number of the most recent version of the data in a soft state redirect data structure; and maintaining locations of older versions of the data in the circular log in a soft state garbage data structure until the older versions are invalidated. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A storage system comprising:
-
a plurality of storage devices; and a storage manager, associated with a first storage device from the plurality of storage devices; a logger module associated with a second storage device, wherein the logger module is arranged to; receive a write request from the storage manager when the first storage device is unavailable, the write request comprising data and metadata; store the data and the metadata in the second storage device, the second storage device comprising a circular log including one or more blocks used to store the data and metadata; maintain a hard state data structure configured to store multiple versions of the same block, at least one version being a most recently written version and at least one version being a stale version; and maintain a soft state data structure that stores a list of most recently written versions for a plurality of different blocks stored for the storage manager, but does not store details relating to stale versions of the plurality of different blocks. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. One or more tangible device-readable media with device-executable instructions configured to perform acts comprising:
-
receiving a write request to a storage location, the write request comprising data; storing a most recent version of the data in the storage location, the storage location comprising a circular log; maintaining an identity of the storage location amongst a set of identified storage locations in a hard state data structure; maintaining logical block numbers for circular log blocks storing the data and a version number of the most recent version of the data in a soft state redirect data structure; and
maintaining locations of older versions of the data in the circular log in a soft state garbage data structure until the older versions are invalidated. - View Dependent Claims (19, 20)
-
Specification