Flexible data storage device mapping for data storage systems
First Claim
Patent Images
1. A computer-implemented method, comprising:
- generating, from a data set, a first set of shards defined by a redundancy encoding scheme, each shard of the first set of shards having a corresponding size that corresponds to a smallest available capacity of any storage device among a set of storage devices capable of storing the first set of shards;
mapping each shard of the first set of shards to a logical storage layer such that each shard corresponds to a plurality of addressable zones allocated by the logical storage layer, each addressable zone corresponding to an address range of the shard;
mapping each storage device of the set of storage devices to at least one addressable zone of the plurality of addressable zones independently of the mapping of the first set of shards to the logical storage layer;
storing the first set of shards on the set of storage devices in accordance with the plurality of addressable zones to which the set of storage devices are mapped; and
in response to information indicating failure of a storage device mapped to a respective subset of the plurality of addressable zones, repairing, using the redundancy encoding scheme, at least one corresponding address range of at least one corresponding shard for each addressable zone of the respective subset of the plurality of addressable zones.
1 Assignment
0 Petitions
Accused Products
Abstract
A logical storage layer for shared storage systems interposes between address ranges of the shards and the storage devices on which the shards are stored. The shards may be logically addressed using a plurality of addressable zones, to which the storage devices are independently mapped. Data requests related to a given piece of data associated with a shard may involve multiple storage devices, and vice versa.
-
Citations
20 Claims
-
1. A computer-implemented method, comprising:
-
generating, from a data set, a first set of shards defined by a redundancy encoding scheme, each shard of the first set of shards having a corresponding size that corresponds to a smallest available capacity of any storage device among a set of storage devices capable of storing the first set of shards; mapping each shard of the first set of shards to a logical storage layer such that each shard corresponds to a plurality of addressable zones allocated by the logical storage layer, each addressable zone corresponding to an address range of the shard; mapping each storage device of the set of storage devices to at least one addressable zone of the plurality of addressable zones independently of the mapping of the first set of shards to the logical storage layer; storing the first set of shards on the set of storage devices in accordance with the plurality of addressable zones to which the set of storage devices are mapped; and in response to information indicating failure of a storage device mapped to a respective subset of the plurality of addressable zones, repairing, using the redundancy encoding scheme, at least one corresponding address range of at least one corresponding shard for each addressable zone of the respective subset of the plurality of addressable zones. - View Dependent Claims (2, 3, 4)
-
-
5. A system, comprising:
at least one computing device that implements one or more services, wherein the one or more services at least; generate a set of redundancy coded shards by processing a set of data with a redundancy code; map the set of redundancy coded shards to a logical storage layer such that each shard of the set corresponds to a plurality of addressable zones allocated by the logical storage layer, each addressable zone corresponding to an address range of the shard; associate a set of storage devices to the logical storage layer so as to associate one or more addressable zones of the plurality of addressable zones to each storage device of the set of storage devices; store the set of redundancy coded shards on the set of storage devices in accordance with the one or more addressable zones associated with each storage device of the set of storage devices; and service requests related to a portion of the set of data by manipulating one or more respective storage devices of the set of storage devices associated with a respective addressable zone associated with the portion of the set of data. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12)
-
13. A non-transitory computer-readable storage medium having stored thereon executable instructions that, as a result of execution by one or more processors of a computer system, cause the computer system to at least:
-
process data for storage on a set of storage devices, thereby generating processed data, by at least; generating a set of redundancy coded shards from the data by applying a redundancy encoding scheme to the data; and apportioning the set of redundancy coded shards to a logical storage layer such that each shard of the set corresponds to a plurality of addressable zones of the logical storage layer; store the processed data on a set of storage devices via the logical storage layer so as to associate one or more addressable zones of the plurality of addressable zones to each storage device of the set of storage devices; and service requests related to a portion of the processed data by manipulating one or more respective storage devices of the set of storage devices associated with a respective addressable zone associated with the portion of the set of data. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
Specification