SYSTEM AND METHOD FOR RECOVERY OF UNRECOVERABLE DATA WITH ENHANCED ERASURE CODING AND REPLICATION
First Claim
1. A system, comprising:
- a processor; and
a memory that stores executable instructions that, when executed by the processor, facilitate performance of operations, comprising;
determining a coding matrix that is to be employed to erasure code a chunk stored within a distributed storage system;
determining non-intersecting sub matrices of the coding matrix; and
encoding data fragments of the chunk by utilizing the non-intersecting sub matrices, wherein the encoding results in a generation of different coding fragments that are to be stored within respective zones of the distributed storage system.
7 Assignments
0 Petitions
Accused Products
Abstract
Data availability in geographically-distributed object storage systems that utilize erasure coding is increased without any run-time overheads. In one aspect, non-intersecting sub matrices of a great encoding matrix can be utilized to erasure code data fragments of a chunk at the zone level and generate coding fragments. Accordingly, the data fragments that are stored within different zones are identical, while the coding fragments stored within the different zones are disparate. Subsequent to a multi-zone data failure, wherein it is determined that a decoding operation cannot be performed at the zone level, available fragments associated with the chunk can be collected from the zones and collectively decoded to recover the chunk. In one aspect, the fragments can be decoded by utilizing a great decoding matrix that corresponds to the great encoding matrix.
-
Citations
20 Claims
-
1. A system, comprising:
-
a processor; and a memory that stores executable instructions that, when executed by the processor, facilitate performance of operations, comprising; determining a coding matrix that is to be employed to erasure code a chunk stored within a distributed storage system; determining non-intersecting sub matrices of the coding matrix; and encoding data fragments of the chunk by utilizing the non-intersecting sub matrices, wherein the encoding results in a generation of different coding fragments that are to be stored within respective zones of the distributed storage system.
-
-
2. The system of claim 1, wherein the operations further comprise:
in response to determining that a failure condition is satisfied, collecting available fragments from the respective zones.
-
3. The system of claim 2, wherein the operations further comprise:
decoding the available fragments based on a decoding matrix that corresponds to the coding matrix, and wherein the decoding results in a recovery of the data fragments.
-
4. The system of claim 3, wherein the operations further comprise:
subsequent to the decoding, re-encoding the data fragments based on the non-intersecting sub matrices.
-
5. The system of claim 2, wherein the determining that the failure condition is satisfied comprises determining that the data fragments are unable to be recovered at a zone level without inter-zone communication.
-
6. The system of claim 1, wherein the determining the coding matrix comprises determining the coding matrix based on a number of zones within the distributed storage system.
-
7. The system of claim 1, wherein the determining the coding matrix comprises determining the coding matrix based on an erasure coding protection protocol utilized at a zone level.
-
8. The system of claim 1, wherein the operations further comprise:
facilitating a storage of copies of the data fragments within the respective zones.
-
9. The system of claim 1, wherein the determining the non-intersecting sub matrices comprises splitting the coding matrix based on a number of the respective zones to which the chunk is to be replicated.
-
10. The system of claim 1, wherein the distributed storage system comprises a distributed object storage system.
-
11. A method, comprising:
-
configuring, by a system comprising a processor, a coding matrix that is to be employed during an erasure coding of a chunk stored within a distributed storage system; determining first coding fragments based on encoding data fragments of the chunk in accordance with a first sub matrix of the coding matrix, wherein the first coding fragments are to be stored within a first zone of the distributed storage system; and determining second coding fragments based on encoding the data fragments in accordance with a second sub matrix of the coding matrix, wherein the first sub matrix and the second sub matrix are non-intersecting matrices, and wherein the second coding fragments are to be stored within a second zone of the distributed storage system.
-
-
12. The method of claim 11, further comprising:
facilitating a storage of a first copy of data fragments within the first zone and a second copy of data fragments within the second zone.
-
13. The method of claim 12, further comprising:
-
determining that a multi-zone failure has occurred resulting in a loss of information stored within the first zone and the second zone; and in response to determining that the multi-zone failure satisfies a defined failure criterion, facilitating a transfer of available fragments from the second zone to the first zone.
-
-
14. The method of claim 13, further comprising:
decoding the available fragments based on a decoding matrix that corresponds to the coding matrix, wherein the decoding results in a recovery of the data fragments.
-
15. The method of claim 11, wherein the configuring comprises configuring a size of the coding matrix based on a number of zones within the distributed storage system.
-
16. The method of claim 11, wherein the configuring comprises configuring a size of the coding matrix based on an erasure coding protection scheme utilized for data protection at a zone level.
-
17. A computer-readable storage medium comprising instructions that, in response to execution, cause a server device comprising a processor to perform operations, comprising:
-
configuring a coding matrix that is to be employed to erasure code a chunk stored within a distributed storage system; encoding data fragments of the chunk in accordance with a first sub matrix of the coding matrix to generate first coding fragments that are to be stored within a first zone of the distributed storage system; and encoding the data fragments in accordance with a second sub matrix of the coding matrix to generate second coding fragments that are to be stored within a second zone of the distributed storage system, wherein the first sub matrix and the second sub matrix are non-intersecting matrices.
-
-
18. The computer-readable storage medium of claim 17, wherein the operations further comprise:
-
storing a first copy of the data fragments with the first coding fragments within the first zone; and storing a second copy of the data fragments with the second coding fragments within the second zone.
-
-
19. The computer-readable storage medium of claim 18, wherein fragments comprise the first copy of the data fragments, the second copy of the data fragments, the first coding fragments and the second coding fragments, and wherein the operations further comprise:
in response to determining that at least a portion of the fragments is unavailable, decoding a remaining portion of the fragments other than the portion that is available in accordance with a decoding matrix that corresponds to the coding matrix to recover the data fragments.
-
20. The computer-readable storage medium of claim 17, wherein the distributed storage system comprises a distributed object storage system.
Specification