IP Library Granted Patent US 10,691,539
Granted Patent B2
US 10,691,539 · App. 16/022,199 · Granted Jun 23, 2020

Grown defect detection and mitigation using ECC in memory systems

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,691,539
App. No.
16/022,199
Granted
Jun 23, 2020
Kind
B2
Abstract

A controller may detect unreliable bits of data, memory cells, or bit lines during an error correction process of a read operation based on an error correction code used to generate parity bits for the data. In some embodiments, the controller may use the error correction code to determine a distribution of unsatisfied checks. Based on the distribution, the controller may detect group(s) of bits that more closely resemble a defective group of bits rather than a non-defective group of bits. Based on the detection, the controller may set reliability metrics to values that indicate low levels or reliability, which in turn may increase the probability of successfully correcting the errors and reduce the amount of work the controller needs to do in order to complete the error correction process.

Claims (59)

1. A circuit comprising:

a memory array comprising a plurality of memory cells; and

a controller configured to:

receive a bit group of data stored in the memory array;

generate an empirical distribution of numbers of unsatisfied checks for the bit group based on an error correction code;

compare the empirical distribution for the bit group with an expected distribution; and

in response to the comparison, identify that the bit group is unreliable.

2. The circuit of claim 1 , wherein the controller is configured to:

calculate a statistical similarity between the empirical distribution and the expected distribution to compare the empirical distribution with the expected distribution.

3. The circuit of claim 2 , wherein the controller is further configured to:

calculate a score based on the statistical similarity; and

identify that the bit group is unreliable based on the score.

4. The circuit of claim 3 , wherein the controller is configured to identify that the bit group is unreliable in response to the score satisfying a threshold.

5. The circuit of claim 3 , wherein the controller is configured to identify that the bit group is unreliable in response to the score being one of a predetermined number of highest ranked scores.

6. The circuit of claim 3 , wherein the expected distribution comprises an expected distribution of numbers of unsatisfied checks for an unreliable bit group.

7. The circuit of claim 6 , wherein the statistical similarity comprises a first statistical similarity, and wherein the controller is further configured to:

calculate a second statistical similarity between the empirical distribution and an expected distribution of numbers of unsatisfied checks for a reliable bit group; and

calculate the score based on the first statistical similarity and the second statistical similarity.

8. The circuit of claim 7 , wherein the controller is configured to calculate the score based on a ratio between the first statistical similarity and the second statistical similarity.

9. The circuit of claim 7 , wherein the controller is configured to calculate the score based on a difference between the first statistical similarity and the second statistical similarity.

10. The circuit of claim 1 , wherein the controller is further configured to:

generate a plurality of empirical distributions for a plurality of bit groups of a codeword, the bit group comprising one of the plurality of bit groups;

compare the plurality of empirical distributions with the expected distribution; and

identify that at least the bit group of the plurality of bit groups is unreliable based on the comparisons.

11. The circuit of claim 1 , wherein the controller is configured to generate the empirical distribution based on numbers of unsatisfied checks connected to variable nodes for bits of the bit group.

12. A circuit comprising:

a memory configured to store a data set received from a memory die during a read operation;

a check circuit configured to calculate a plurality of numbers of unsatisfied checks for a plurality of bit groups of the data set;

an unreliable memory detection circuit configured to detect an unreliable memory cell based on the plurality of numbers of unsatisfied checks; and

an initial reliability metric circuit configured to set an initial reliability metric value for a bit stored in the unreliable memory cell based on the detection.

13. The circuit of claim 12 , further comprising:

a reliability metric update circuit configured to adjust an updated reliability metric value for the data set based on the initial reliability metric value.

14. The circuit of claim 13 , wherein the reliability metric update circuit is configured to adjust a plurality of updated reliability metric values over a plurality of cycles of a reliability metric update process dependent on the initial reliability metric value.

15. The circuit of claim 12 , wherein the initial reliability metric comprises an initial log likelihood ratio (LLR) value.

16. The circuit of claim 12 , wherein the initial reliability metric circuit is configured to adjust the initial reliability metric value to reduce a likelihood that the bit has a correct bit value.

17. The circuit of claim 12 , wherein the check circuit is configured to calculate the plurality of numbers of unsatisfied checks in response to a triggering event occurring after a start of a reliability metric update process to error correct the data set.

18. The circuit of claim 12 , wherein the unreliable memory detection circuit is configured to detect the unreliable memory cell in response to a triggering event occurring after a start of a reliability metric update process to error correct the data set.

19. A system comprising:

a memory die;

a controller comprising:

a parity bit generator circuit configured to:

generate a plurality of parity bits for a set of information bits based on an error correction code; and

append the plurality of parity bits to the set of information bits to form a codeword;

a memory interface circuit configured to output the codeword to the memory die for storage;

a data retrieval circuit configured to receive the codeword from the memory die during a read operation;

a scoring circuit configured to calculate a score for the codeword based on the error correction code used to generate the parity bits; and

an unreliable memory identification circuit configured to detect that a portion of the codeword is stored in an unreliable group of memory cells based on the score.

20. The system of claim 19 , wherein the scoring circuit is configured to calculate the score based on numbers of unsatisfied checks of bits that comprises the portion stored in the unreliable group of memory cells.

21. A method comprising:

receiving, with a controller, a data set during a read operation;

calculating, with the controller, a plurality of empirical distributions for a plurality of groups of bits of the data set based on numbers of unsatisfied checks of the bits of the data set;

detecting, with the controller, an unreliable bit line based on the plurality of empirical distributions; and

storing, with the controller, an identifier that identifies the unreliable bit line in a memory.

22. A circuit comprising:

a means for receiving a bit group of data stored in a memory array;

a means for comparing an empirical distribution for the bit group with an expected distribution; and

a means for identifying that the bit group is unreliable in response to the comparison.

23. The circuit of claim 1 , wherein the empirical distribution is a continuous probability distribution.

24. The circuit of claim 1 , wherein the empirical distribution is one of a threshold voltage probability distribution and a threshold distribution of a number of memory cells as a function of threshold voltage.

Assignments (10)
PARTIAL RELEASE OF SECURITY INTERESTS Recorded Apr 25, 2025
From: JPMORGAN CHASE BANK, N.A., AS AGENT
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 071382/0001 →
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
PATENT COLLATERAL AGREEMENT Recorded Aug 23, 2024
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 068762/0494 →
CHANGE OF NAME Recorded Jun 27, 2024
From: SANDISK TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067982/0032 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067567/0682 →
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
RELEASE OF SECURITY INTEREST AT REEL 052915 FRAME 0566 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 059127/0001 →
SECURITY INTEREST Recorded Feb 6, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 052915/0566 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 17, 2018
From: ZAMIR, RAN; SHARON, ERAN; ALROD, IDAN
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 046889/0638 →