Distributed data storage system with key-based addressing
First Claim
1. A data storage method comprising:
- receiving, from at least one writing entity within a host, a request to write a container of data that is identified by a unique key that is independent of physical storage identifiers, said container comprising a plurality of data sub-sets;
determining, from the key, a plurality of storage devices in which to store the data sub-sets;
storing the data sub-sets in respective, different ones of the plurality of storage devices as determined from the key;
generating an error-correction code for the data sub-sets of the data container;
creating at least one error-correcting data sub-set corresponding to the error-correction code; and
determining, as a function of the key, at least one storage device different from the plurality of storage devices in which the data sub-sets are stored and storing the at least one error-correcting data sub-set in respective said different storage device(s).
3 Assignments
0 Petitions
Accused Products
Abstract
In a Distributed Virtual Array data storage system, a storage pool receives, from at least one writing entity within a host, a request to write a container of data that is identified by a unique key that is independent of physical storage identifiers and that comprises a set of data chunks. The key indicates a plurality of storage devices in which to store the data chunks, which are accordingly stored in those storage devices. Different combinations, each comprising a layout map, of storage devices are represented in a layout table. Information in the container key is used to select which layout map to use for the chunks of each container. An error-correction chunk is preferably also stored along with the chunks of each container so as to enable data container reconstruction in case of storage device failure.
-
Citations
23 Claims
-
1. A data storage method comprising:
-
receiving, from at least one writing entity within a host, a request to write a container of data that is identified by a unique key that is independent of physical storage identifiers, said container comprising a plurality of data sub-sets; determining, from the key, a plurality of storage devices in which to store the data sub-sets; storing the data sub-sets in respective, different ones of the plurality of storage devices as determined from the key; generating an error-correction code for the data sub-sets of the data container; creating at least one error-correcting data sub-set corresponding to the error-correction code; and determining, as a function of the key, at least one storage device different from the plurality of storage devices in which the data sub-sets are stored and storing the at least one error-correcting data sub-set in respective said different storage device(s). - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A data storage system comprising:
-
a plurality of storage devices; a storage pool receiving, from at least one writing entity within a host, a request to write a container of data that is identified by a unique key that is independent of physical storage identifiers and that comprises a set of data sub-sets; said storage pool including a driver configured for determining, from the key, in which of the plurality of storage devices to store the data sub-sets; and said storage pool further including data sub-set stores for storing the data sub-sets in respective, different ones of the plurality of storage devices as determined from the key; in which the pool store is further configured for generating an error-correction code for the data sub-sets of the data container; for creating at least one error-correcting data sub-set corresponding to the error-correction code; and for determining, as a function of the key, at least one storage device different from the plurality of storage devices in which the data sub-sets are stored and storing the at least one error-correcting data sub-set in respective said different storage device(s). - View Dependent Claims (19, 20, 21, 22, 23)
-
Specification