Iterative soft information correction and decoding
First Claim
1. A method performed by a storage device, the method comprising:
- at the storage device;
receiving one or more read requests from a host system, the one or more read requests specifying data stored in a plurality of units of memory;
obtaining data from the plurality of units of memory in accordance with the one or more read requests;
performing first decoding operations on the data obtained from the plurality of units of memory using soft information values for the plurality of units of memory, wherein the plurality of units of memory includes an error correction stripe;
determining that two or more of the plurality of units of memory have uncorrectable errors, wherein the uncorrectable errors are uncorrectable using the first decoding operations;
updating a respective soft information value for a first unit of memory in accordance with;
a magnitude of a corresponding soft information value for a second unit of memory; and
a direction based on parity of the error correction stripe excluding the first unit of memory, wherein the first unit of memory and the second unit of memory are included in the two or more units of memory that have uncorrectable errors;
performing a second decoding operation on data obtained from at least a portion of the first unit of memory using the updated soft information value;
in accordance with a determination that the second decoding operation is successful, providing decoded data from the second decoding operation to a memory controller; and
in accordance with a determination that the second decoding operation is unsuccessful, performing a set of remedial operations or providing an indication of an irresolvable error condition to a memory controller.
3 Assignments
0 Petitions
Accused Products
Abstract
A method is provided that includes performing first decoding operations on data obtained from a plurality of units of memory using soft information values for the plurality of units of memory, where the plurality of units of memory includes an error correction stripe. The method further includes determining that two or more units of memory have uncorrectable errors. The method further includes updating a soft information value for a first unit of memory in accordance with a magnitude of a soft information value for a second unit and a direction based on parity of the error correction stripe excluding the first unit, where the first unit of memory and the second unit of memory are included in the two or more units of memory that have uncorrectable errors. The method further includes performing a second decoding operation on data obtained from the first unit using the updated soft information value.
128 Citations
21 Claims
-
1. A method performed by a storage device, the method comprising:
-
at the storage device; receiving one or more read requests from a host system, the one or more read requests specifying data stored in a plurality of units of memory; obtaining data from the plurality of units of memory in accordance with the one or more read requests; performing first decoding operations on the data obtained from the plurality of units of memory using soft information values for the plurality of units of memory, wherein the plurality of units of memory includes an error correction stripe; determining that two or more of the plurality of units of memory have uncorrectable errors, wherein the uncorrectable errors are uncorrectable using the first decoding operations; updating a respective soft information value for a first unit of memory in accordance with; a magnitude of a corresponding soft information value for a second unit of memory; and a direction based on parity of the error correction stripe excluding the first unit of memory, wherein the first unit of memory and the second unit of memory are included in the two or more units of memory that have uncorrectable errors; performing a second decoding operation on data obtained from at least a portion of the first unit of memory using the updated soft information value; in accordance with a determination that the second decoding operation is successful, providing decoded data from the second decoding operation to a memory controller; and in accordance with a determination that the second decoding operation is unsuccessful, performing a set of remedial operations or providing an indication of an irresolvable error condition to a memory controller. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A storage device, comprising:
-
non-volatile memory; one or more processors; a decoder for decoding data obtained from the non-volatile memory, including first decoding operations on data obtained from a plurality of units of the non-volatile memory using soft information values for the plurality of units of the non-volatile memory, wherein the plurality of units of the non-volatile memory includes an error correction stripe; and controller memory storing one or more programs, which when executed by the one or more processors cause the storage device to perform operations comprising; determining that two or more of the plurality of units of the non-volatile memory have uncorrectable errors, wherein the uncorrectable errors are uncorrectable using the first decoding operations; updating a respective soft information value for a first unit of memory in accordance with; a magnitude of a corresponding soft information value for a second unit of memory; and a direction based on parity of the error correction stripe excluding the first unit of memory, wherein the first unit of memory and the second unit of memory are included in the two or more units of memory that have uncorrectable errors; and wherein the decoder is further for a second decoding operation on data obtained from at least a portion of the first unit of memory using the updated soft information value; and in accordance with a determination that the second decoding operation is successful, the decoder is further for providing decoded data from the second decoding operation to a memory controller; and in accordance with a determination that the second decoding operation is unsuccessful, the decoder is further for performing a set of remedial operations or providing an indication of an irresolvable error condition to a memory controller. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
-
21. A non-transitory computer readable storage medium, storing one or more programs configured for execution by one or more processors of a storage system, the one or more programs including instructions for:
-
at a storage device; performing first decoding operations on a plurality of units of memory using soft information values for the plurality of units of memory, wherein the plurality of units of memory includes an error correction stripe; determining that two or more of the plurality of units of memory have uncorrectable errors, wherein the uncorrectable errors are uncorrectable using the first decoding operations; updating a respective soft information value for a first unit of memory in accordance with; a magnitude of a corresponding soft information value for a second unit of memory; and a direction based on parity of the error correction stripe excluding the first unit of memory, wherein the first unit of memory and the second unit of memory are included in the two or more units of memory that have uncorrectable errors; performing a second decoding operation on data obtained from at least a portion of the first unit of memory using the updated soft information value; in accordance with a determination that the second decoding operation is successful, providing decoded data from the second decoding operation to a memory controller; and in accordance with a determination that the second decoding operation is unsuccessful, performing a set of remedial operations or providing an indication of an irresolvable error condition to a memory controller.
-
Specification