IP Library Granted Patent US 10,635,524
Granted Patent B1
US 10,635,524 · App. 16/112,429 · Granted Apr 28, 2020

Soft-decision input generation for data storage 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,635,524
App. No.
16/112,429
Granted
Apr 28, 2020
Kind
B1
Abstract

An error management system for a data storage device can generate soft-decision log-likelihood ratios (LLRs) using multiple reads of memory locations. Bit patterns provided by multiple reads of reference memory locations can be counted and used to generate probability data that is used to generate possible LLR values for decoding target pages. Possible LLR values are stored in one or more look-up tables.

Claims (69)

1. A data storage device comprising:

a non-volatile memory array comprising a plurality of non-volatile memory devices; and

a controller,

wherein the controller is configured to:

determine a reference data stored in a reference memory location;

perform a plurality of reads on the reference data using a plurality of voltage read levels;

generate, based on the plurality of reads, a plurality of read values;

calculate, based on a comparison of the plurality of read values to the reference data, a plurality of log likelihood ratios (LLRs);

determine whether a physical location of one or more target memory locations is within a threshold proximity value; and

when the physical location is within the threshold proximity value, select one or more LLRs among the plurality of LLRs and apply the selected one or more LLRs among the plurality of LLRs to decode data stored in the one or more target memory locations.

2. The data storage device of claim 1 , wherein the controller is configured to:

compare one or more data retention characteristics of the reference memory location with one or more data retention characteristics of the one or more target memory locations; and

select, based on the comparison of the data retentions characteristics, the one or more LLRs among the plurality of LLRs.

3. The data storage device of claim 1 , wherein the controller is configured to:

store the plurality of LLRs in a data structure, wherein the data structure is associated with the reference memory location.

4. The data storage device of claim 3 , wherein the controller is configured to:

update periodically, based on one or more decode operations performed on data stored in the one or more target memory locations, one or more stored LLRs in the data structure.

5. The data storage device of claim 1 , wherein the controller is configured to:

determine whether data in a first memory location is successfully decoded using a default read voltage; and

when data in the first memory location is not successfully decoded using the default read voltage,

select data in a second memory location; and

when data in the second memory location is successfully decoded using the default read voltage,

determine data in the second memory location as the reference data.

6. The data storage device of claim 5 , wherein the controller is configured to:

when data in the first memory location is successfully decoded using the default read voltage,

determine data in the first memory location as the reference data.

7. The data storage device of claim 1 , wherein the plurality of read values are correlated with the reference data.

8. A computer-implemented method for a data storage system, comprising:

determining a reference data stored in a reference memory location in a non-volatile memory array;

performing a plurality of reads on the reference data using a plurality of read voltages;

generating, based on the plurality of reads, a plurality of read values;

calculating, based on a comparison of the plurality of read values to the reference data, a plurality of log likelihood ratios (LLRs);

determining whether a physical location of one or more target memory locations is within a threshold proximity value; and

when the physical location is within the threshold proximity value, selecting one or more LLRs among the plurality of LLRs and applying the selected one or more LLRs among the plurality of LLRs to decode data stored in the one or more target memory locations.

9. The computer-implemented method of claim 8 , further comprising:

comparing one or more data retention characteristics of the reference memory location with one or more data retention characteristics of the one or more target memory locations; and

selecting, based on the comparison of the data retentions characteristics, the one or more LLRs among the plurality of LLRs.

10. The computer-implemented method of claim 8 , further comprising:

storing the plurality of LLRs in a data structure, wherein the data structure is associated with the reference memory location.

11. The computer-implemented method of claim 10 , further comprising:

periodically updating, based on one or more decode operations performed on data stored in the one or more target memory locations, one or more stored LLRs in the data structure.

12. The computer-implemented method of claim 8 , further comprising:

determining whether data in a first memory location is successfully decoded using a default read voltage; and

in response to determining that the first memory location is not successfully decoded using the default read voltage:

decoding data in a second memory location using the default read voltage; and

in response to successfully decoding data in the second memory location using the default read voltage:

determining data in the second memory location as the reference data.

13. The computer-implemented method of claim 12 , further comprising:

in response to determining that the first memory location is successfully decoded using the default read voltage:

determining data in the first memory location as the reference data.

14. The computer-implemented method of claim 8 , wherein the plurality of read values are correlated with the reference data.

15. A data storage system, comprising:

a non-volatile memory array comprising a plurality of non-volatile memory devices;

means for determining a reference data stored in a reference memory location in a non-volatile memory array;

means for performing a plurality of reads on the reference data using a plurality of read voltages;

means for generating, based on the plurality of reads, a plurality of read values;

means for calculating, based on a comparison of the plurality of read values to the reference data, a plurality of log likelihood ratios (LLRs);

means for determining whether a physical location of one or more target memory locations is within a threshold proximity value;

means for selecting one or more LLRs among the plurality of LLRs when the physical location is within the threshold proximity value; and

means for applying the selected one or more LLRs among the plurality of LLRs to decode data stored in the one or more target memory locations.

16. The data storage system of claim 15 , comprising:

means for comparing one or more data retention characteristics of the reference memory location with one or more data retention characteristics of the one or more target memory locations; and

means for selecting, based on the comparison of the data retentions characteristics, the one or more LLRs among the plurality of LLRs.

17. The data storage system of claim 15 , comprising:

means for determining whether data in a first memory location is successfully decoded using a default read voltage; and

in response to determining that the first memory location is not successfully decoded using the default read voltage:

means for decoding data in a second memory location using the default read voltage; and

in response to successfully decoding data in the second memory location using the default read voltage:

means for determining data in the second memory location as the reference data.

Assignments (10)
SECURITY AGREEMENT (SUPPLEMENTAL) Recorded Nov 14, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 069411/0208 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2024
From: SANDISK TECHNOLOGIES, INC.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 069168/0273 →
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 Jan 17, 2019
From: LU, GUANGMING; ANDERSON, KENT D.; KRISHNAN, ANANTHA RAMAN; DAHANDEH, SHAFA
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 048053/0948 →