IP Library Granted Patent US 10,911,069
Granted Patent B2
US 10,911,069 · App. 16/254,575 · Granted Feb 2, 2021

Memory device with enhanced error correction

Inventors: Stella Achtenberg (Kfar Saba, IL); Omer Fainzilber (Kfar Saba, IL); Dudy David Avraham (Kfar Saba, IL)
Assignee: Western Digital Technologies, Inc.
H03M13/3723G06F11/1076
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,911,069
App. No.
16/254,575
Granted
Feb 2, 2021
Kind
B2
Abstract

Disclosed herein are memory devices, systems, and methods of content-aware decoding of encoded data. In one aspect, an encoded data chunk is received and one or more characteristics, such as source statistics, are determined. A similar data chunk (that may, e.g., contain data of a similar type) with comparable statistics may be sought. The similar data chunk may, for example, have source statistics that are positively correlated to the source statistics of the encoded data chunk to be decoded. Decoder parameters for the encoded data may be set to correspond with decoder parameters suited to the similar data chunk. The encoded data chunk is decoded using the new decoder parameters. Decoding encoded data based on content can enhance performance, reducing decoding latency and/or power consumption.

Claims (26)

1. A controller configured to:

determine a first source statistic for a first data chunk;

compare the first source statistic to a second source statistic for a second data chunk;

in response to determining a positive correlation between the first source statistic and the second source statistic, determine decoder parameters for the first data chunk based on at least one of the first and the second source statistics; and

decode the first data chunk using the determined decoder parameters;

wherein the controller is configured to determine the decoder parameters for the first data chunk by, at least in part, identifying decoder parameters suited to the second data chunk in response to a determination that the first source statistic is positively correlated to the second source statistic;

wherein to compare the first source statistic to the second source statistic, the controller is configured to, at least in part:

compute a correlation coefficient between the first source statistic and the second source statistic,

compare the correlation coefficient to a correlation threshold, and

determine the first source statistic is positively correlated to the second source statistic in response to the correlation coefficient satisfying the correlation threshold.

2. The controller of claim 1 , wherein the first data chunk and the second data chunk both include data of a first type, and wherein the first type corresponds to an application that generated the data.

3. The controller of claim 1 , wherein the first data chunk corresponds to a first application and is of a first type, wherein the second data chunk corresponds to a second different application and is of the first type, and wherein the first type corresponds to a user that generated the data or to a file type.

4. The controller of claim 1 , wherein the controller is configured to determine the first source statistic without decoding the first data chunk.

5. The controller of claim 1 , wherein the controller is further configured to encode data to generate the second data chunk, and determine the second source statistic during encoding of the second data chunk.

6. The controller of claim 1 , wherein the controller is configured to receive and decode the second data chunk prior to receipt and decoding of the first data chunk.

7. The controller of claim 1 , wherein the controller is configured to select the second data chunk independent of a physical location of the second data chunk in a memory device.

8. The controller of claim 1 , wherein the controller is configured to select the second data chunk independent of when the second data chunk was encoded relative to the first data chunk.

9. The controller of claim 1 , wherein the controller is configured to determine the first source statistic based on a correlation in time between when the first data chunk and the second data chunk were encoded, and wherein the controller is further configured to modify the decoder parameters based on the correlation in time.

10. The controller of claim 1 , wherein, to compare the first source statistic to the second source statistic, the controller is configured to, at least in part, compare frequencies of at least one of bits, bytes, and variable length sequences in the first and second data chunks.

11. The controller of claim 1 , wherein the first source statistic is selected from a group consisting of a byte histogram corresponding to frequencies of bytes, a bit histogram corresponding to frequencies of bits, and a repetition of variable length sequences.

12. A method of decoding ECC encoded data, the method comprising:

determining a source statistic for an encoded data chunk;

computing a first correlation of the source statistic with a first reference source statistic corresponding to a first reference encoded data chunk;

comparing the first correlation to a correlation threshold;

computing a second correlation of the source statistic with a second reference source statistic corresponding to a second reference encoded data chunk; and

in response to determining that the first correlation satisfies the correlation threshold, decoding the encoded data chunk using decoding parameters previously used to decode the first reference encoded data chunk, wherein the encoded data is decoded using decoding parameters previously used to decode the first reference encoded data chunk when both (i) the first correlation satisfies the correlation threshold and (ii) the first correlation is greater than the second correlation.

Assignments (10)
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
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 →
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 - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
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 →
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 22, 2019
From: ACHTENBERG, STELLA; FAINZILBER, OMER; AVRAHAM, DUDY DAVID
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 048096/0578 →