IP Library Granted Patent US 10,223,198
Granted Patent B2
US 10,223,198 · App. 15/046,666 · Granted Mar 5, 2019

Error rate reduction

Inventors: Deping He (Boise, ID); Sampath K. Ratnam (Boise, ID)
Assignee: Micron Technology, Inc.
G06F11/1068G11C29/52H03M13/1102H03M13/13H03M13/152H03M13/1515H03M13/6356G11C2029/0411H03M13/29H03M13/2936H03M13/2966H03M13/356H04L1/007H04L1/0057H04L1/0066H04L2001/0098
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,223,198
App. No.
15/046,666
Granted
Mar 5, 2019
Kind
B2
Abstract

The present disclosure includes apparatuses and methods for error rate reduction. One example method comprises adding an amount of error rate reduction (ERR) data to an amount of received user data, and writing the amount of user data along with the amount of ERR data to a memory.

Claims (49)

1. A method of operating memory, comprising:

adding, via a controller, an amount of error rate reduction (ERR) data to an amount of received user data such that the amount of ERR data replaces a portion of the amount of received user data that would have been within a codeword absent the replacement, wherein the amount of ERR data added to the amount of received user data is determined based, at least partially, on a desired amount of bit error rate reduction;

writing, via the controller, the amount of user data along with the amount of ERR data to a memory, wherein the amount of ERR data comprises a plurality of portions of the amount of ERR data interspersed among the amount of user data such that at least one of the plurality of portions of the amount of ERR data is located between two portions of the amount of user data;

encoding the amount of ERR data and the amount of user data with error correction code (ECC) data prior to writing the amount of user data along with the amount of ERR data to the memory;

writing the amount of user data along with the amount of ERR data and the ECC data to the memory as the codeword;

reading the codeword from the memory; and

prior to performing an ECC decode operation on the amount of user data and the amount of ERR data read from the memory:

determining those data units of the amount of ERR data that are incorrect; and

correcting those data units of the amount of ERR data determined to be incorrect.

2. The method of claim 1 , wherein the amount of ERR data is a known amount, and wherein adding the known amount of ERR data to the amount of received user data includes evenly distributing the known amount of ERR data among the amount of received user data.

3. The method of claim 2 , wherein each data unit of the amount of ERR data has a same binary data value.

4. The method of claim 1 , wherein the method includes determining the amount of ERR data based, at least partially, on:

an error correction capability of the controller; and

a determined bit error rate (BER) of the memory.

5. The method of claim 1 , wherein a sum of the amount of ERR data and the amount of user data corresponds to a page size of the memory, and wherein the amount of ERR data is determined as a particular percentage of the page size.

6. The method of claim 1 , wherein the method includes performing the ECC decode operation on the amount of user data and the corrected amount of ERR data read from the memory.

7. The method of claim 6 , wherein the method includes, subsequent to performing the ECC decode operation on the amount of user data and the corrected amount of ERR data read from the memory, removing the ECC decoded amount of ERR data from the ECC decoded amount user data prior to transferring the ECC decoded amount of user data to a host.

8. An apparatus, comprising:

a memory; and

a controller configured to:

determine an amount of error rate reduction (ERR) data to be replaced with a portion of an amount of received user data based on a desired amount of bit error rate reduction;

add an amount of error rate reduction (ERR) data to an amount of received user data prior to writing the amount of ERR data and the amount of user data to the memory such that the amount of ERR data replaces a portion of the amount of received user data that would have been within a codeword absent the replacement, wherein the amount of ERR data comprises a plurality of portions of the amount ERR data interspersed among the amount of user data such that at least one of the plurality of portions of the amount of ERR data is located between two portions of the amount of user data; and

prior to performing an error correction operation on the amount of user data:

determine those data units of the amount of ERR data that are incorrect; and

correct those data units of the amount of ERR data determined to be incorrect.

9. The apparatus of claim 8 , wherein the controller is configured to write the amount of ERR data and the amount of user data to the memory as a page of data, the page of data having a particular page size, and wherein adding the amount of ERR data to the amount of user data reduces an amount of user data corresponding to the page of data such that the particular page size is maintained.

10. The apparatus of claim 8 , wherein the amount of ERR data is a plurality of data units having known data values.

11. An apparatus, comprising:

a memory; and

a controller configured to:

add a determined amount of error rate reduction (ERR) data to an amount of received user data such that the amount of ERR data replaces a portion of the amount of received user data that would have been within a codeword absent the replacement, wherein the amount of ERR data comprises a plurality of portions of the amount ERR data interspersed among the amount of user data such that at least one of the plurality of portions of the amount of ERR data is located between two portions of the amount of user data;

write the determined amount of ERR data and the amount of user data along with corresponding error correction data to the memory as the codeword;

read the codeword from the memory;

prior to using the error correction data to perform an error correction operation on the amount of user data and the amount of ERR data:

determine those data units of the amount of ERR data that are incorrect; and

correct those data units of the amount of ERR data determined to be incorrect; and

perform, using the error correction data, the error correction operation on the amount of user data and the corrected amount of ERR data.

12. The apparatus of claim 11 , wherein the controller comprises:

an ERR encoder configured to add the determined amount of ERR data to the amount of user data; and

an ERR decoder configured to determine those data units of the amount of ERR data that are incorrect and correct those data units of the amount of ERR data determined to be incorrect.

13. The apparatus of claim 11 , wherein the controller is configured to determine the amount of ERR data based on a bit error rate of at least a portion of the memory to which the codeword is written.

14. The apparatus of claim 11 , wherein the error correction data comprises parity bits.

15. The apparatus of claim 11 , wherein the error correction data includes a low-density parity-check (LDPC) code.

16. The apparatus of claim 11 , wherein the error correction data includes an error correction code (ECC) selected from the group comprising:

a Bose, Chaudhuri, and Hocquenghem (BCH) code; and

a Reed-Solomoon (RS) code.

17. The apparatus of claim 11 , wherein the controller is configured to determine the amount of ERR data based, at least partially, on a page size of the memory.

18. The apparatus of claim 11 , wherein the controller is configured to add the determined amount of ERR data to the amount of received user data such that the ERR data is distributed evenly among the amount of received user data.

19. An apparatus of claim 11 , wherein a sum of the amount of user data and the amount of ERR data is equal to a page size of the memory.

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 Feb 18, 2016
From: HE, DEPING; RATNAM, SAMPATH K.
To: MICRON TECHNOLOGY, INC.
Reel/Frame 037763/0657 →
Continuity (1)
Related Publication 20170242747A1 · Aug 24, 2017