Apparatus, system, and method for managing data storage
First Claim
Patent Images
1. A method for managing data storage, the method comprising:
- determining that an error correcting code (ECC) block comprises uncorrectable errors, the ECC block stored across a plurality of memory devices;
iteratively substituting replacement data, within data of the ECC block, for individual memory devices of the plurality of memory devices to form substitute ECC blocks until one of the substitute ECC blocks is correctable using the error correcting code for the ECC block; and
providing corrected data from the correctable one of the substitute ECC blocks.
9 Assignments
0 Petitions
Accused Products
Abstract
An apparatus, system, and method are disclosed for managing data storage. The method includes determining that an error correcting code (ECC) block comprises uncorrectable errors. The ECC block is stored across a plurality of memory devices. The method includes iteratively substituting replacement data, within data of the ECC block, for individual memory devices of the plurality of memory devices to form substitute ECC blocks until one of the substitute ECC blocks is correctable using the error correcting code for the ECC block. The method includes providing corrected data from the correctable one of the substitute ECC blocks.
-
Citations
25 Claims
-
1. A method for managing data storage, the method comprising:
-
determining that an error correcting code (ECC) block comprises uncorrectable errors, the ECC block stored across a plurality of memory devices; iteratively substituting replacement data, within data of the ECC block, for individual memory devices of the plurality of memory devices to form substitute ECC blocks until one of the substitute ECC blocks is correctable using the error correcting code for the ECC block; and providing corrected data from the correctable one of the substitute ECC blocks. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. An apparatus for managing data storage, the apparatus comprising:
-
an ECC module configured to determine that an error correcting code (ECC) chunk comprises an uncorrectable number of errors, the ECC chunk stored across a plurality of storage regions; an isolation module configured to test individual storage regions of the plurality of storage regions by iteratively substituting replacement data, within data of the ECC chunk, for individual storage regions of the plurality of storage regions to form substitute ECC chunks until one of the substitute ECC chunks is correctable using the error correcting code for the ECC chunk; the isolation module configured to determine that a storage region that stored data for the ECC chunk is in error, wherein the isolation module replaces the stored data for the ECC chunk with the replacement data in the one of the substitute ECC chunks; and wherein the ECC module and the isolation module comprise one or more of logic hardware and a non-transitory computer readable storage medium storing executable code. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
-
20. A system for managing data storage, the system comprising:
-
an array of non-volatile storage elements, the array comprising two or more non-volatile storage elements and one or more extra non-volatile storage elements, the extra non-volatile storage elements storing parity information from data stored on each non-volatile storage element of the two or more non-volatile storage elements; and a storage controller configured to, determine that an error correcting code (ECC) chunk has more errors than are correctable using an error correcting code for the ECC chunk, the ECC chunk stored across the two or more non-volatile storage elements; iteratively substitute replacement data, within data of the ECC chunk, for individual non-volatile storage elements of the two or more non-volatile memory devices storage elements to form substitute ECC chunks until one of the substitute ECC chunks is correctable using the error correcting code for the ECC chunk, wherein the replacement data is derived from the parity information; and provide corrected data from the correctable one of the substitute ECC chunks. - View Dependent Claims (21)
-
-
22. A computer program product comprising a non-transitory computer readable storage medium storing computer usable program code executable to perform operations for managing data storage, the operations comprising:
-
determining that an error correcting code (ECC) block has more errors than are correctable using an error correcting code for the ECC block, the ECC block stored across a plurality of storage regions of an array of storage regions, wherein at least one of the storage regions of the array stores parity information derived from data stored on each storage region of the plurality of storage regions storing the ECC block; iteratively substituting replacement data, within data of the ECC block, for individual storage regions of the plurality of storage regions to form substitute ECC blocks until one of the substitute ECC blocks is correctable using the error correcting code for the ECC block; and providing corrected data from the correctable one of the substitute ECC blocks. - View Dependent Claims (23)
-
-
24. An apparatus for managing data storage, the apparatus comprising:
-
means for determining that an error correcting code (ECC) chunk has more errors than are correctable using an error correcting code for the ECC chunk, the ECC chunk stored across a plurality of storage elements, the error correcting code derived from data of the ECC chunk; means for iteratively substituting replacement data, within data of the ECC chunk, for individual storage elements of the plurality of storage elements to form substitute ECC chunks until one of the substitute ECC chunks is correctable using the error correcting code for the ECC chunk; and means for providing corrected data from the one of the substitute ECC chunks. - View Dependent Claims (25)
-
Specification