IP Library Granted Patent US 9,577,673
Granted Patent B2
US 9,577,673 · App. 13/672,433 · Granted Feb 21, 2017

Error correction methods and apparatuses using first and second decoders

Inventors: Sivagnanam Parthasarathy (Carlsbad, CA); Mustafa Nazmi Kaynak (San Diego, CA); Patrick Robert Khayat (San Diego, CA)
Assignee: Micron Technology, Inc.
H03M13/1108H03M13/29H03M13/2906H03M13/6502G11B20/1833H03M13/1102H03M13/152
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,577,673
App. No.
13/672,433
Granted
Feb 21, 2017
Kind
B2
Abstract

Apparatuses and methods for error correcting data are provided. A first error correction code (ECC) decoder is configured to decode a first codeword to provide a first result and to decode a second codeword to provide a second result. The decoder is configured to run up to a particular number of iterations to provide each of the results. A second ECC decoder is configured to decode a third codeword to provide decoded data, wherein the third codeword includes the first result and the second result. An evaluation module is configured to initiate a recovery scheme responsive to the decoded data including an error.

Claims (57)

1. A method for error correcting data, the method comprising:

reading a first codeword from memory, wherein the first codeword comprises first user data and error correction code (ECC) bits of a first type;

reading a second codeword from the memory, wherein the second codeword comprises second user data and ECC bits of the first type;

decoding the first codeword using a first decoder associated with a first ECC decoding procedure to provide a first result without inputting soft data to the first decoder, wherein the first decoder runs up to a particular number of iterations to provide the first result, and wherein the first decoder is capable of decoding using soft data;

decoding the second codeword using the first decoder associated with the first ECC decoding procedure to provide a second result without inputting soft data to the first decoder, wherein the first decoder runs up to the particular number of iterations to provide the second result;

grouping together the first result and the second result to form a third codeword before decoding the third codeword, wherein the third codeword is an outer codeword that comprises the first user data, the second user data, and ECC bits of a second type protecting the combined first and second codewords;

decoding the outer codeword using a second decoder associated with a second ECC decoding procedure to provide decoded data, wherein the second ECC decoding procedure is different from the first ECC decoding procedure; and

performing a recovery scheme only if the decoded outer codeword includes an error, wherein performing the recovery scheme includes:

reading, from the memory, soft data corresponding to the first and second codewords; and

providing the soft data to the first decoder in association with re-decoding the first and second codewords with the first decoder such that soft data is provided to the first decoder only if the decoded outer codeword includes an error.

2. The method of claim 1 , wherein the memory comprises flash memory.

3. The method of claim 1 , wherein decoding the outer codeword using the second decoder associated with the second ECC decoding procedure comprises decoding the outer codeword using the second decoder associated with a Bose-Chaudhuri-Hocquenghem (BCH) code decoding procedure.

4. The method of claim 1 , wherein performing the recovery scheme comprises:

providing third and fourth results from re-decoding the first and second codewords, respectively; and

decoding a fourth codeword using the second decoder to provide re-decoded data, wherein the fourth codeword comprises the third and fourth results.

5. The method of claim 1 , wherein reading the first and second codewords comprises receiving the first and second codewords at a controller over an interface coupled between the controller and the memory.

6. The method of claim 1 , wherein decoding the first and second codewords using the first decoder associated with the first ECC decoding procedure comprises decoding the first and second codewords using the first decoder associated with a low density parity check (LDPC) code decoding procedure.

7. The method of claim 1 , wherein reading the first and second codewords comprises:

sensing the first codeword from a first plurality of memory cells of the memory; and

sensing the second codeword from a second plurality of memory cells of the memory.

8. The method of claim 1 , wherein the particular number of iterations is one.

9. The method of claim 1 , wherein the third codeword further comprises a plurality of checksum bits.

10. An apparatus comprising:

a first decoder associated with a first error correction code (ECC) decoding procedure configured to:

decode a first codeword to provide a first result, wherein the first codeword comprises first user data and error correction code (ECC) bits of a first type, and wherein the first decoder is capable of decoding using soft data;

decode a second codeword to provide a second result, wherein the second codeword comprises second user data and ECC bits of the first type;

run up to a particular number of iterations to provide each of the results; and

group together the first result and the second result to form a third codeword before the third codeword is decoded, wherein the third codeword is an outer codeword that comprises the first user data, the second user data, and ECC bits of a second type protecting the combined first and second codewords,

a second decoder associated with a second ECC decoding procedure configured to decode the outer codeword to provide decoded data, wherein the second ECC decoding procedure is different from the first ECC decoding procedure; and

an evaluation module configured to:

initiate a recovery scheme only responsive to the decoded outer codeword including an error;

read, from memory, soft data corresponding to the first and second codewords; and

provide the soft data to the first decoder in association with re-decoding the first and second codewords such that soft data is provided to the first decoder only if the decoded outer codeword includes an error.

11. The apparatus of claim 10 , wherein the apparatus comprises a controller.

12. The apparatus of claim 10 , wherein the apparatus comprises a memory device; and

wherein the memory device includes a controller comprising the first decoder, the second decoder, and the evaluation module.

13. The apparatus of claim 10 , wherein the evaluation module is a component of the second decoder.

14. The apparatus of claim 10 , wherein the second ECC decoding procedure comprises a Bose-Chaudhuri-Hocquenghem (BCH) code decoding procedure.

15. The apparatus of claim 14 , wherein the BCH code decoding procedure has a correction capability in a range between 20 and 160.

16. The apparatus of claim 10 , wherein the first ECC decoding procedure comprises a low density parity check (LDPC) code decoding procedure.

17. The apparatus of claim 10 , wherein the particular number of iterations is one.

18. The apparatus of claim 10 , wherein the second decoder is a component of the evaluation module.

19. The apparatus of claim 10 , wherein the number of ECC bits of the first type is greater than the number of ECC bits of the second type.

20. The apparatus of claim 19 , wherein the number of ECC bits of the first type is about four times greater than the number of ECC bits of the second type.

21. The apparatus of claim 20 , wherein the number of ECC bits of the first and second types in the third codeword comprises about 10% of a number of bits in a page of memory.

22. The apparatus of claim 10 , wherein the outer codeword comprises a Bose-Chaudhuri-Hocquenghem (BCH) codeword; and

wherein the first and second codewords comprise low density parity check (LDPC) codewords.

23. The apparatus of claim 10 ,

wherein the memory is coupled to a controller comprising the first decoder, the second decoder and the evaluation module; and

wherein the controller is configured to read the first and second codewords from the memory while operating in a hard data only mode.

24. The apparatus of claim 23 , wherein the evaluation module being configured to initiate a recovery scheme comprises the evaluation module being configured to switch an operating mode of the controller from the hard data only mode to a soft data mode.

25. The apparatus of claim 24 , wherein while operating in the soft data mode, the controller is configured to:

provide third and fourth results from re-decoding the first and second codewords, respectively; and

decode a fourth codeword using the second decoder to provide re-decoded data, wherein the fourth codeword comprises the third and fourth results.

26. The apparatus of claim 23 , wherein the memory comprises a memory device.

27. The apparatus of claim 26 , wherein the memory device comprises a NAND flash memory device.

28. The apparatus of claim 27 , wherein the NAND flash memory device is coupled to the controller through an ONFI interface.

Assignments (8)
RELEASE OF SECURITY INTEREST Recorded Nov 12, 2019
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.; MICRON SEMICONDUCTOR PRODUCTS, INC.
Reel/Frame 051028/0001 →
RELEASE OF SECURITY INTEREST Recorded Oct 9, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 050937/0001 →
RELEASE OF SECURITY INTEREST Recorded Aug 23, 2018
From: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 047243/0001 →
SECURITY INTEREST Recorded Jul 13, 2018
From: MICRON TECHNOLOGY, INC.; MICRON SEMICONDUCTOR PRODUCTS, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 047540/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REPLACE ERRONEOUSLY FILED PATENT #7358718 WITH THE CORRECT PATENT #7358178 PREVIOUSLY RECORDED ON REEL 038669 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Jun 8, 2017
From: MICRON TECHNOLOGY, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 043079/0001 →
PATENT SECURITY AGREEMENT Recorded Jun 2, 2016
From: MICRON TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 038954/0001 →
SECURITY INTEREST Recorded May 12, 2016
From: MICRON TECHNOLOGY, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 038669/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 8, 2012
From: PARTHASARATHY, SIVAGNANAM; KAYNAK, MUSTAFA NAZMI; KHAYAT, PATRICK ROBERT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 029267/0305 →
Continuity (1)
Related Publication 20140129896A1 · May 8, 2014