IP Library Granted Patent US 8,898,549
Granted Patent B2
US 8,898,549 · App. 13/765,034 · Granted Nov 25, 2014

Statistical adaptive error correction for a flash memory

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 8,898,549
App. No.
13/765,034
Granted
Nov 25, 2014
Kind
B2
Abstract

A method for implementing adaptive error correction in a memory, comprising the steps of (A) decoding a page of data read from a memory, (B) selecting one of a plurality of histograms based on a measured code word error rate of the decoded page and (C) applying an error correction code rate based on the selected histogram. The error correction code rate allows the memory to use a minimum number of error correction bits to provide reliable operation of the memory.

Claims (32)

1. A method for implementing adaptive error correction in a memory, comprising the steps of:

(A) decoding a page of data read from said memory;

(B) selecting one of a plurality of histograms based on a measured code word error rate of said decoded page; and

(C) applying an error correction code rate based on said selected histogram, wherein said error correction code rate allows said memory to use a minimum number of error correction bits needed to provide reliable operation of said memory.

2. The method according to claim 1 , further comprising the steps of:

repeating steps (A)-(C); and

modifying said error correction code rate by selecting another of said plurality of histograms if said histogram exceeds a peak threshold of said selected histogram.

3. The method according to claim 1 , wherein said error correction code rate comprises an Error Correction Code (ECC).

4. The method according to claim 1 , wherein said minimum number of error correction bits increases as said memory ages.

5. The method according to claim 1 , wherein said method increases a bandwidth performance of said memory by minimizing the number of error correction bits needed to provide reliable operation of said memory.

6. The method according to claim 1 , wherein said method is implemented on a first portion of said memory to provide a first error correction rate and a second portion of said memory to provide a second error correction rate.

7. The method according to claim 1 , wherein said reliable operation of said memory comprises writing to said memory without causing data corruption.

8. The method according to claim 1 , wherein said memory comprises a flash memory.

9. The method according to claim 1 , wherein step (A) comprises the sub-steps of:

determining whether a parameter is equal to zero;

setting a first value equal to a second value if said parameter is equal to zero; and

setting said parameter equal to a parameter plus an offset if said parameter is not equal to zero.

10. An apparatus comprising:

means for storing data; and

means for processing a plurality of input/output requests to read/write data to/from said means for storing, wherein said means for processing is configured to (i) decode a page of data read from the means for storing data, (ii) select one of a plurality of histograms based on a measured code word error rate of the decoded page, and (iii) apply an error correction code rate based on said selected histogram, wherein said error correction code rate allows said means for storing data to use a minimum number of error correction bits to provide reliable operation of said means for storing data.

11. An apparatus comprising:

a memory configured to store data; and

a controller configured to process a plurality of input/output requests to read/write data to/from said memory, wherein said controller is configured to (i) decode a page of data read from the memory, (ii) select one of a plurality of histograms based on a measured code word error rate of the decoded page, and (iii) apply an error correction code rate based on said selected histogram, wherein said error correction code rate allows said memory to use a minimum number of error correction bits to provide reliable operation of said memory.

12. The apparatus according to claim 11 , wherein said apparatus comprises a solid state drive (SSD).

13. The apparatus according to claim 11 , wherein said memory comprises a flash memory.

14. The apparatus according to claim 13 , wherein said flash memory comprises a plurality of modules.

15. The apparatus according to claim 13 , wherein said flash memory comprises a plurality of pages.

16. The apparatus according to claim 15 , wherein said data stored in said plurality of pages is protected by data parity.

17. The apparatus according to claim 15 , wherein said histograms comprise errors in said plurality pages statistically charted over a lifetime of said flash memory.

18. The apparatus according to claim 11 , wherein allowing said memory to use a minimum number of error correction bits protects said data from corruption.

19. The apparatus according to claim 11 , wherein allowing said memory to use a minimum number of error correction bits reduces a number of clock cycles needed to process errors.

20. The apparatus according to claim 11 , wherein analysis of said plurality of histograms is based on a percentage threshold of an error distribution of said memory.

Assignments (4)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031) Recorded Feb 2, 2016
From: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
To: LSI CORPORATION; AGERE SYSTEMS LLC
Reel/Frame 037684/0039 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 21, 2015
From: LSI CORPORATION
To: SEAGATE TECHNOLOGY LLC
Reel/Frame 034775/0777 →
PATENT SECURITY AGREEMENT Recorded May 8, 2014
From: LSI CORPORATION; AGERE SYSTEMS LLC
To: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
Reel/Frame 032856/0031 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 12, 2013
From: HUBRIS, ALEXANDER; ZHONG, HAO
To: LSI CORPORATION
Reel/Frame 029796/0400 →