Forward error correction with parallel error detection for flash memories
DC CAFCFirst Claim
1. A flash memory decoder comprising:
- a decoding module configured to;
receive encoded data from the flash memory; and
decode the received encoded data to generate a plurality of partially decoded data streams;
an error detection module communicatively coupled with the decoding module, and comprising a plurality of error detection sub-modules operating in parallel, each error detection sub-module configured to;
receive a different one of the plurality of partially decoded data streams;
detect whether a portion of the respective received stream contains an error; and
forward the portion of the respective received stream containing an error to an error correction module; and
the error correction module, communicatively coupled with and physically separate from the error detection module, and configured to correct the received portions of the respective received streams containing an error.
5 Assignments
Litigations
3 Petitions
Accused Products
Abstract
Methods, systems, and devices are described for forward error correction for flash memory. Encoded data from flash memory may be used to generate a number of data streams. At each of a number of error detection sub-modules operating in parallel, a different one of the data streams is processed. Each error detection sub-module may detect whether a portion of the respective received stream contains an error, and forward the portion to an error correction module. The error correction module, physically separate from the error detection sub-modules, may correct the forwarded portions of the respective received streams containing an error. The age and error rate associated with the flash memory may be monitored, and a coding rate or other aspects may be dynamically adapted to account for these factors.
69 Citations
25 Claims
-
1. A flash memory decoder comprising:
-
a decoding module configured to; receive encoded data from the flash memory; and decode the received encoded data to generate a plurality of partially decoded data streams; an error detection module communicatively coupled with the decoding module, and comprising a plurality of error detection sub-modules operating in parallel, each error detection sub-module configured to; receive a different one of the plurality of partially decoded data streams; detect whether a portion of the respective received stream contains an error; and forward the portion of the respective received stream containing an error to an error correction module; and the error correction module, communicatively coupled with and physically separate from the error detection module, and configured to correct the received portions of the respective received streams containing an error. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A system comprising:
-
an encoder configured to encode data for storage on a flash memory; the flash memory, communicatively coupled with the encoding module, and configured to store the encoded data; and a decoder, communicatively coupled with the flash memory, and configured to; retrieve the encoded data from flash memory to generate a plurality of data streams; and process, at each of a plurality of error detection sub-modules of the decoder operating in parallel, a different one of the plurality of data streams, wherein each error detection sub-module is configured to; detect whether a portion of the respective received stream contains an error; and forward the portion of the respective received stream containing an error to an error correction module of the decoder; and correct, with the error correction module physically separate from the error detection module, the forwarded portions of the respective received streams containing an error. - View Dependent Claims (16)
-
-
17. A method comprising:
-
receiving encoded data from a flash memory comprising a plurality of data streams; processing, at each of a plurality of error detection sub-modules operating in parallel, a different one of the plurality of data streams, wherein each error detection sub-module is configured to; detect whether a portion of the respective received stream contains an error; and forward the portion of the respective received stream containing an error to an error correction module; and correcting, with the error correction module physically separate from an error detection module, the forwarded portions of the respective received streams containing an error. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25)
-
Specification