APPARATUS, SYSTEM, AND METHOD TO INCREASE DATA INTEGRITY IN A REDUNDANT STORAGE SYSTEM
First Claim
1. An apparatus to increase data read performance in a redundant storage system, the apparatus comprising:
- a receive module that receives a read request to read data from an ECC chunk spanning N storage elements of an array of N+P storage elements, the N storage elements each storing a portion of the ECC chunk and P storage elements storing parity data for the N storage elements;
a data read module that reads data from each of X number of storage elements of the N+P storage elements where (N+P)>
X≧
N;
an ECC correction module that corrects the read data of the ECC chunk using Error Correcting Code (“
ECC”
) in response to the ECC chunk comprising a number of bit errors below a correctable bit error threshold; and
a substitution module that corrects the read data with substitute data from a substitute storage element in response to the ECC chunk comprising a number of bit errors above a correctable bit error threshold.
16 Assignments
0 Petitions
Accused Products
Abstract
An apparatus, system, and method are disclosed to increase data integrity in a redundant storage system. The receive module receives a read request to read data from an ECC chunk spanning N storage elements of an array of N+P storage elements. The N storage elements each store a portion of the ECC chunk and the P storage elements store parity data. The data read module reads data from each of X number of storage elements of the N+P storage elements where (N+P)>X≧N. The ECC correction module corrects the read data of the ECC chunk using Error Correcting Code (“ECC”) in response to the ECC chunk comprising a number of bit errors below a correctable bit error threshold. The substitution module may correct the read data with substitute data from a substitute storage element.
20 Citations
21 Claims
-
1. An apparatus to increase data read performance in a redundant storage system, the apparatus comprising:
-
a receive module that receives a read request to read data from an ECC chunk spanning N storage elements of an array of N+P storage elements, the N storage elements each storing a portion of the ECC chunk and P storage elements storing parity data for the N storage elements; a data read module that reads data from each of X number of storage elements of the N+P storage elements where (N+P)>
X≧
N;an ECC correction module that corrects the read data of the ECC chunk using Error Correcting Code (“
ECC”
) in response to the ECC chunk comprising a number of bit errors below a correctable bit error threshold; anda substitution module that corrects the read data with substitute data from a substitute storage element in response to the ECC chunk comprising a number of bit errors above a correctable bit error threshold. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A system to increase data integrity in a redundant storage system, the system comprising:
-
a storage controller controlling an array of N storage elements that each store a portion of an ECC chunk and P storage elements storing parity data for the N storage elements; a receive module that receives a read request to read data from the ECC chunk spanning the array of N+P storage elements; a data read module that reads data from each of X number of storage elements of the N+P storage elements where X equals N; and an ECC correction module that corrects the read data of the ECC chunk using Error Correcting Code (“
ECC”
) in response to the ECC chunk comprising a number of bit errors below a correctable bit error threshold; anda substitution module that corrects the read data with substitute data generated from a substitute storage element in response to the ECC chunk comprising a number of bit errors above a correctable bit error threshold. - View Dependent Claims (17)
-
-
18. A method for increasing data integrity in a redundant storage system, the method comprising:
-
receiving a read request to read data from an ECC chunk spanning N storage elements of an array of N+P storage elements, the N storage elements each storing a portion of the ECC chunk and P storage elements storing parity data for the N storage elements; reading data from each of X number of storage elements of the N+P storage elements where X equals N; regenerating a missing portion of the ECC chunk using parity data in response to a portion of the read data comprising the parity data; and correcting the read data with substitute data from a substitute storage element in response to the ECC chunk comprising a number of bit errors above a correctable bit error threshold. - View Dependent Claims (19, 20, 21)
-
Specification