Data storage system
First Claim
1. In a data storage system, a redundancy check matrix with k rows and n columns of elements being previously provided, any sub-matrix comprising k columns of elements among the n columns of elements in the redundancy check matrix being invertible, k being a natural number and n being a natural number larger than k, said data storage system comprising:
- an array of storage devices configured to store information in the form of a plurality of stripes; and
a storage controller coupled to the array of storage devices and configured to write a plurality of code words forming each stripe to the array of storage devices;
wherein said plurality of code words represents a systematic mapping of a plurality of data blocks according to the redundancy check matrix and comprises said plurality of data blocks and at least one redundancy block, and wherein said storage controller comprises an encoder configured to generate said at least one redundancy block according to the plurality of data blocks and the redundancy check matrix in an encoding mode.
1 Assignment
0 Petitions
Accused Products
Abstract
A data storage system including an array of storage devices and a storage controller is provided. The array of storage devices is configured to store information in the form of a plurality of stripes. The storage controller is configured to write a plurality of code words forming each stripe to the array of storage devices. Each code word comprises a plurality of data blocks and at least one redundancy block. A redundancy check matrix is previously provided and one subset including any k columns of elements in the redundancy check matrix is invertible. The storage controller generates the redundancy block according to the plurality of data blocks and the redundancy check matrix. Once up to k storage devices among the array of storage devices are failed, the other un-failed storage devices and the redundancy check matrix are utilized to recover the failed storage devices.
17 Citations
20 Claims
-
1. In a data storage system, a redundancy check matrix with k rows and n columns of elements being previously provided, any sub-matrix comprising k columns of elements among the n columns of elements in the redundancy check matrix being invertible, k being a natural number and n being a natural number larger than k, said data storage system comprising:
-
an array of storage devices configured to store information in the form of a plurality of stripes; and
a storage controller coupled to the array of storage devices and configured to write a plurality of code words forming each stripe to the array of storage devices;
wherein said plurality of code words represents a systematic mapping of a plurality of data blocks according to the redundancy check matrix and comprises said plurality of data blocks and at least one redundancy block, and wherein said storage controller comprises an encoder configured to generate said at least one redundancy block according to the plurality of data blocks and the redundancy check matrix in an encoding mode. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
- 17. A method of generating k redundancy blocks (C1, C2, . . . , Ck) for (n-k) data blocks (D1, D2, . . . , D(n-k)), k being a natural number, n being a natural number larger than k, a previously provided Vandermonde matrix (R) with k rows and n columns of elements being represented as:
-
19. A method of generating k redundancy blocks (C1, C2, . . . , Ck) for (n-k) data blocks (D1, D2, . . . , D(n-k)), k being a natural number, n being a natural number larger than k, a redundancy check matrix (R) generated according to a k-th order Reed-Solomon code generator polynomial being previously provided, the k roots of the generator polynomial being {1, a, a2, . . . , ak−
- 1}, wherein the coefficient field is GF(qP), a is a primitive element of the coefficient field GF(qP), q is a prime number, P is a positive integer, the redundancy check matrix (R) with k rows and n columns of elements being represented as;
- View Dependent Claims (20)
- 1}, wherein the coefficient field is GF(qP), a is a primitive element of the coefficient field GF(qP), q is a prime number, P is a positive integer, the redundancy check matrix (R) with k rows and n columns of elements being represented as;
Specification