Reconstructing data stored across archival data storage devices
First Claim
Patent Images
1. A method of operating a storage system, comprising:
- receiving a read request with an object identifier for a data object;
identifying a synchronous group of data storage devices across a plurality of enclosures, wherein the synchronous group of data storage devices is associated with the object identifier, wherein each of the plurality of enclosures comprises a plurality of data storage devices;
sending a request to the plurality of enclosures to synchronously activate the data storage devices in the synchronous group of data storage devices;
retrieving metadata based, at least in part, on the object identifier;
after sending the request to the plurality of enclosures, retrieving data fragments associated with the object identifier from the synchronous group of data storage devices;
determining, from the retrieved metadata, a first set of operations and an order of the first set of operations,wherein the first set of operations were performed on the data object in the order,wherein the first set of operations comprise at least two of compression, encryption, deduplication, or erasure coding; and
performing on the data fragments a second set of operations corresponding to the first set of operations in reverse of the order to reconstruct the data object.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques for operating a storage system are disclosed. A read request with an object identifier for a data object is received. A synchronous group of data storage devices across a plurality of enclosures is identified. The synchronous group is associated with the object identifier. A request is sent to the plurality of enclosures to synchronously activate the data storage devices in the synchronous group. After sending the request, data fragments associated with the object identifier are retrieved from the synchronous group of data storage devices. The data fragments are erasure decoded into a contiguous data range to reconstruct the data object.
56 Citations
19 Claims
-
1. A method of operating a storage system, comprising:
-
receiving a read request with an object identifier for a data object; identifying a synchronous group of data storage devices across a plurality of enclosures, wherein the synchronous group of data storage devices is associated with the object identifier, wherein each of the plurality of enclosures comprises a plurality of data storage devices; sending a request to the plurality of enclosures to synchronously activate the data storage devices in the synchronous group of data storage devices; retrieving metadata based, at least in part, on the object identifier; after sending the request to the plurality of enclosures, retrieving data fragments associated with the object identifier from the synchronous group of data storage devices; determining, from the retrieved metadata, a first set of operations and an order of the first set of operations, wherein the first set of operations were performed on the data object in the order, wherein the first set of operations comprise at least two of compression, encryption, deduplication, or erasure coding; and performing on the data fragments a second set of operations corresponding to the first set of operations in reverse of the order to reconstruct the data object. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A non-transitory computer-readable storage memory having executable instructions stored thereon, the executable instructions to:
-
receive a read request with an object identifier for a data object; identify a first synchronous group of data storage devices across a first plurality of enclosures, wherein the first synchronous group of data storage devices is associated with the object identifier, wherein each of the first plurality of enclosures comprises a plurality of data storage devices; send a request to the first plurality of enclosures to synchronously activate the data storage devices in the first synchronous group of data storage devices; and retrieve metadata based, at least in part, on the object identifier; after sending the request to the first plurality of enclosures, retrieve first data fragments associated with the object identifier from the first synchronous group of data storage devices; determine, from the retrieved metadata, a first set of operations and an order of the first set of operations, wherein the first set of operations were performed on the data object in the order, wherein the first set of operations comprise at least two of compression, encryption, deduplication, or erasure coding; and perform on the first data fragments a second set of operations corresponding to the first set of operations in reverse of the order to reconstruct the data object. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. An apparatus comprising:
-
a hardware processor; and a computer-readable storage medium having instructions embodied therewith, the instructions comprising program code which, when executed by the processor, cause the apparatus to; receive a read request with an object identifier for a data object; identify a synchronous group of data storage devices across a plurality of enclosures, wherein the synchronous group of data storage devices is associated with the object identifier, wherein each of the plurality of enclosures comprises a plurality of data storage devices; send a request to the plurality of enclosures to synchronously activate the data storage devices in the synchronous group of data storage devices; retrieve metadata based, at least in part, on the object identifier; after sending the request to the plurality of enclosures, retrieve data fragments associated with the object identifier from the synchronous group of data storage devices; determine, from the retrieved metadata, a first set of operations and an order of the first set of operations, wherein the first set of operations were performed on the data object in the order, wherein the first set of operations comprise at least two of compression, encryption, deduplication, or erasure coding; and
perform on the data fragments a second set of operations corresponding to the first set of operations in reverse of the order to reconstruct the data object. - View Dependent Claims (16, 17, 18, 19)
-
Specification