IP Library Granted Patent US 10,326,479
Granted Patent B2
US 10,326,479 · App. 15/206,799 · Granted Jun 18, 2019

Apparatuses and methods for layer-by-layer error correction

Inventors: Mustafa N. Kaynak (San Diego, CA); Patrick R. Khayat (San Diego, CA); Sivagnanam Parthasarathy (Carlsbad, CA); Nicholas J. Richardson (San Diego, CA)
Assignee: Micron Technology, Inc.
H03M13/458G06F11/1068G11C29/52H03M13/114H03M13/116H03M13/1128H03M13/2906H03M13/2927H03M13/3753G11C2029/0409G11C2029/0411H03M13/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 10,326,479
App. No.
15/206,799
Granted
Jun 18, 2019
Kind
B2
Abstract

One example of layer-by-layer error correction can include iteratively error correcting the codeword on a layer-by-layer basis with the first error correction circuit in a first mode and determining on the layer-by-layer basis whether a number of parity errors in a particular layer is less than a threshold number of parity errors. The codeword can be transferred to a second error correction circuit when the number of parity errors is less than the threshold number of parity errors. The codeword can be iteratively error corrected with the first error correction circuit in a second mode when the number of parity errors is at least the threshold number of parity errors. The threshold number of parity errors can be at least partially based on an adjustable code rate of the first error correction circuit or the second error correction circuit.

Claims (85)

1. An apparatus for multi-stage error correction, comprising:

a first error correction circuit, wherein, in a first mode, the first error correction circuit is configured to:

determine whether an initial number of parity errors of a first codeword comprising hard data is less than a threshold number of parity errors;

transfer the first codeword to a second error correction circuit in response to the initial number of parity errors being less than the threshold; and

enter a second mode in response to the initial number of parity errors not being less than the threshold;

wherein, in the second mode, the first error correction circuit is configured to:

iteratively error correct the first codeword in a low-effort mode on a layer-by-layer basis, wherein a layer comprises a fraction of an iteration;

determine whether, after the iterative error correction in the low-effort mode, the first codeword is correctable by the second error correction circuit;

transfer the first codeword to the second error correction circuit in response to a determination that the first codeword is correctable by the second error correction circuit;

continue iteratively error correcting the first codeword in the low-effort mode in response to a determination that the first codeword is not correctable by the second error correction circuit and in response to fewer than a first number of iterations being completed by the first error correction circuit; and

enter a third mode in response to the determination that the first codeword is not correctable by the second error correction circuit and in response to at least the first number of iterations being completed by the first error correction circuit;

wherein, in the third mode, the first error correction circuit is configured to:

iteratively error correct the first codeword in a high-effort mode on a layer-by-layer basis;

determine whether, after the iterative error correction in the high-effort mode, the first codeword is correctable by the second error correction circuit;

transfer the first codeword to the second error correction circuit in response to a determination that the first codeword is correctable by the second error correction circuit after the error correction in the high-effort mode; and

enter a fourth mode in response to the determination that the first codeword is not correctable by the second error correction circuit after the error correction in the high-effort mode;

wherein, in the fourth mode, the first error correction circuit is configured to:

cause a second codeword, including soft data, corresponding to the first codeword to be read from a memory device;

iteratively error correct the second codeword in the high-effort mode on a layer-by-layer basis;

determine whether, after the iterative error correction in the high-effort mode, the second codeword is correctable by the second error correction circuit; and

transfer the second codeword to the second error correction circuit in response to a determination that the second codeword is correctable by the second error correction circuit.

2. The apparatus of claim 1 , wherein the threshold number of parity errors is at least partially based on an adjustable code rate of the first error correction circuit or the second error correction circuit.

3. The apparatus of claim 1 , wherein the low-effort mode includes a first set of parameters for a min-sum algorithm; and

wherein the high-effort mode includes a second set of parameters for the min-sum algorithm different than the first set of parameters.

4. The apparatus of claim 1 , wherein the first error correction circuit is further configured to stop iterative error correcting the codeword without error correcting a next layer of a particular iteration in response to transferring the codeword to the second error correction circuit.

5. The apparatus of claim 1 , wherein the first error correction circuit is further configured to autonomously transfer the codeword to the second error correction circuit.

6. The apparatus of claim 1 , wherein the threshold number of parity errors is at least partially based on a correction capability of the second error correction circuit.

7. The apparatus of claim 1 , wherein the first error correction circuit is configured to decode a quasi-cyclic low density parity check (LDPC) code, and

wherein the second error correction circuit is configured to decode an algebraic code.

8. A apparatus, comprising:

a memory device; and

a first error correction circuit coupled to the memory device and, in a first mode, configured to:

determine whether an initial number of parity errors of a first codeword comprising hard data is less than a threshold number of parity errors;

transfer the first codeword to a second error correction circuit in response to the initial number of parity errors being less than the threshold; and

enter a second mode in response to the initial number of parity errors not being less than the threshold;

wherein, in the second mode, the first error correction circuit is configured to:

iteratively error correct the first codeword in a low-effort mode on a layer-by-layer basis, wherein a layer comprises a fraction of an iteration;

determine whether, after the iterative error correction in the low-effort mode, the first codeword is correctable by the second error correction circuit;

transfer the first codeword to the second error correction circuit in response to a determination that the first codeword is correctable by the second error correction circuit;

continue iteratively error correcting the first codeword in the low-effort mode in response to a determination that the first codeword is not correctable by the second error correction circuit and in response to fewer than a first number of iterations being completed by the first error correction circuit; and

enter a third mode in response to the determination that the first codeword is not correctable by the second error correction circuit and in response to at least the first number of iterations being completed by the first error correction circuit;

wherein, in the third mode, the first error correction circuit is configured to:

iteratively error correct the first codeword in a high-effort mode on a layer-by-layer basis;

determine whether, after the iterative error correction in the high-effort mode, the first codeword is correctable by the second error correction circuit;

transfer the first codeword to the second error correction circuit in response to a determination that the first codeword is correctable by the second error correction circuit after the error correction in the high-effort mode; and

enter a fourth mode in response to the determination that the first codeword is not correctable by the second error correction circuit after the error correction in the high-effort mode;

wherein, in the fourth mode, the first error correction circuit is configured to:

cause a second codeword, including soft data, corresponding to the first codeword to be read from a memory device;

iteratively error correct the second codeword in the high-effort mode on a layer-by-layer basis;

determine whether, after the iterative error correction in the high-effort mode, the second codeword is correctable by the second error correction circuit; and

transfer the second codeword to the second error correction circuit in response to a determination that the second codeword is correctable by the second error correction circuit.

9. The apparatus of claim 8 , further comprising a controller coupled to the first error correction circuit and configured to adjust a code rate of the first error correction circuit.

10. The apparatus of claim 9 , wherein the controller is coupled to the second error correction circuit and further configured to adjust a code rate of the second error correction circuit such that a subsequently encoded codeword comprises:

a first parity overhead corresponding to the first error correction circuit; and

a second parity overhead corresponding to the second error correction circuit.

11. The apparatus of claim 8 , wherein the second error correction circuit is further configured to error correct the codeword in response to the second layer including less than the threshold number of parity errors.

12. The apparatus of claim 8 , wherein the second error correction circuit is further configured to begin error correcting the codeword in response to the first error correction circuit stopping iteratively error correcting the codeword.

13. An apparatus, comprising:

a memory device;

a first error correction circuit coupled to the memory device, wherein the first error correction circuit, in a first mode, is configured to:

determine whether an initial number of parity errors of a first codeword comprising hard data is less than a threshold number of parity errors;

transfer the first codeword to a second error correction circuit in response to the initial number of parity errors being less than the threshold; and

enter a second mode in response to the initial number of parity errors not being less than the threshold;

wherein, in the second mode, the first error correction circuit is configured to:

iteratively error correct the first codeword in a low-effort mode on a layer-by-layer basis, wherein a layer comprises a fraction of an iteration;

determine whether, after the iterative error correction in the low-effort mode, the first codeword is correctable by the second error correction circuit;

transfer the first codeword to the second error correction circuit in response to a determination that the first codeword is correctable by the second error correction circuit;

continue iteratively error correcting the first codeword in the low-effort mode in response to a determination that the first codeword is not correctable by the second error correction circuit and in response to fewer than a first number of iterations being completed by the first error correction circuit; and

enter a third mode in response to the determination that the first codeword is not correctable by the second error correction circuit and in response to at least the first number of iterations being completed by the first error correction circuit;

wherein, in the third mode, the first error correction circuit is configured to:

iteratively error correct the first codeword in a high-effort mode on a layer-by-layer basis;

determine whether, after the iterative error correction in the high-effort mode, the first codeword is correctable by the second error correction circuit;

transfer the first codeword to the second error correction circuit in response to a determination that the first codeword is correctable by the second error correction circuit after the error correction in the high-effort mode; and

enter a fourth mode in response to the determination that the first codeword is not correctable by the second error correction circuit after the error correction in the high-effort mode;

wherein, in the fourth mode, the first error correction circuit is configured to:

cause a second codeword, including soft data, corresponding to the first codeword to be read from a memory device;

iteratively error correct the second codeword in the high-effort mode on a layer-by-layer basis;

determine whether, after the iterative error correction in the high-effort mode, the second codeword is correctable by the second error correction circuit; and

transfer the second codeword to the second error correction circuit in response to a determination that the second codeword is correctable by the second error correction circuit

the second error correction circuit coupled to the first error correction circuit, wherein the second error correction circuit is configured to:

receive the codeword from the first error correction circuit; and

error correct the codeword; and

a controller coupled to the first error correction circuit and configured to adjust a code rate of the first error correction circuit at least partially based on a technology node comprising at least one of a feature size, a type of the memory device, a performance characteristic of the memory device or a reliability characteristic of the memory device.

14. The apparatus of claim 13 , wherein the first error correction circuit is further configured to, in response to the second error correction circuit reporting an uncorrectable error, continue iteratively error correcting the codeword until the codeword is successfully error corrected or a maximum number of iterations of error correction has been performed.

15. The apparatus of claim 13 , wherein the first error correction circuit is further configured to switch from the first mode to the second mode via hardware only.

Assignments (7)
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 050676/0782 →
RELEASE OF SECURITY INTEREST Recorded Jul 20, 2018
From: U.S. BANK NATIONAL ASSOCIATION, AS AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 046635/0634 →
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 →
SUPPLEMENT NO. 1 TO PATENT SECURITY AGREEMENT Recorded Aug 26, 2016
From: MICRON TECHNOLOGY, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 039841/0207 →
SUPPLEMENT NO. 1 TO PATENT SECURITY AGREEMENT Recorded Aug 25, 2016
From: MICRON TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 039824/0681 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 11, 2016
From: KAYNAK, MUSTAFA N.; KHAYAT, PATRICK R.; PARTHASARATHY, SIVAGNANAM; RICHARDSON, NICHOLAS J.
To: MICRON TECHNOLOGY, INC.
Reel/Frame 039123/0826 →
Continuity (1)
Related Publication 20180013451A1 · Jan 11, 2018