Error correction for storage devices
First Claim
Patent Images
1. A method for redundantly storing data, the method comprising:
- receiving data at a storage controller;
partitioning the data into a plurality of data blocks;
generating a first error correction code associated with a first page within the plurality of data blocks;
generating a first redundancy code associated with at least two data blocks within the plurality of data blocks, wherein the first redundancy code provides additional error recovery if the first error correction code fails; and
storing the plurality of data blocks, the first error correction code, and the first redundancy code across a plurality of solid state storage devices.
3 Assignments
0 Petitions
Accused Products
Abstract
A method for redundantly storing data includes receiving data at a storage controller, partitioning the data into a plurality of data blocks, generating a first error correction code associated with a first page within the plurality of data blocks, and generating a first redundancy code associated with at least two data blocks within the plurality of data block. The first redundancy code provides additional error recovery if the first error correction code fail. The method further includes storing the plurality of data blocks, the first error correction code, and the first redundancy code across a plurality of solid state storage devices.
-
Citations
21 Claims
-
1. A method for redundantly storing data, the method comprising:
-
receiving data at a storage controller; partitioning the data into a plurality of data blocks; generating a first error correction code associated with a first page within the plurality of data blocks; generating a first redundancy code associated with at least two data blocks within the plurality of data blocks, wherein the first redundancy code provides additional error recovery if the first error correction code fails; and storing the plurality of data blocks, the first error correction code, and the first redundancy code across a plurality of solid state storage devices. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for recovering stored data, the method comprising:
-
receiving a request to read data stored within a plurality of solid state storage devices; identifying a portion of data within the data, the portion of data having at least one error; applying a first error recovery operation in an attempt to generate a first recovered data portion, the first error recovery operation implements a first error correction code; applying a second error recovery operation if the first error recovery operation fails, the second error recovery operation implements a first redundancy code to generate a second recovered data portion; and reading the data from the plurality of solid state storage devices, the data comprising at least one of the first recovered data portion and the second recovered data portion. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A controller for storing data with redundancy, the controller comprising:
-
a processor coupled to receive a request to read data stored across a plurality of solid state storage devices; an error-correcting code module coupled to the processor, wherein the error-correcting code module applies a first error recovery operation to at least one data portion having an error and the first error recovery operation implements a first error correction code in an attempt to recover the at least one data portion; and a redundant array of independent blocks encoder coupled to the processor, wherein the redundant array of independent blocks encoder applies a second error recovery operation if the first error recovery operation fails and the second error recovery operation implements a first redundancy code to recover the at least one data portion. - View Dependent Claims (17, 18, 19, 20, 21)
-
Specification