IP Library Granted Patent US 10,879,940
Granted Patent B2
US 10,879,940 · App. 16/407,671 · Granted Dec 29, 2020

Decoding with data mapping methods and 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,879,940
App. No.
16/407,671
Granted
Dec 29, 2020
Kind
B2
Abstract

A method for improving decoding and error correction in non-volatile memory, e.g., solid state drives. A map is generated for each data type that has a structure, e.g., text files. The map can be based on the underlying characteristics of this type of the data file and the mutual information between L out to a soft decoder. The map transforms the data prior to encoding to condition the data to improve decoding and error correction.

Claims (57)

1. A method for decoding data, comprising:

receiving, from a non-volatile memory, an encoded, mapped data file comprising an original data file mapped via a one-to-one mapping based on a characteristic of a data type of the original data file, and encoded;

decoding the encoded, mapped data file with a soft decoder and thereby obtaining a mapped data file;

de-mapping the mapped data file based on the characteristic of the data type of the original data file and thereby obtaining a recreation of the original data file; and

outputting the recreation of the original data file,

wherein the characteristic of the data type is one of a structure of the data type and a pattern of the data type.

2. The method of claim 1 , wherein:

the characteristic of the data type is an inherent redundancy of the data type; and

the de-mapping comprises reversing a transformation of the original data file that was mapped based on the inherent redundancy of the data type.

3. The method of claim 2 , wherein the de-mapping further comprises reversing the transformation of the original data file according to a probability of a data value to occur in the data type.

4. The method of claim 1 , wherein the decoding comprises transmitting learned information L in from the soft decoder to a content aware module, and transmitting information L out from the content aware module to the soft decoder.

5. The method of claim 4 , wherein the decoding further comprises the content aware module processing L in and additional information about the original data file to produce L out , wherein the additional information about the original data file is at least one of: information received from an offline source and information learned from a current estimation of the original data file.

6. The method of claim 1 , wherein the a size of the mapped data file and a size of the original data file are equal.

7. The method of claim 6 , the characteristic of the data type of the original data file is common to all data files of the data type.

8. A method, comprising:

mapping an original data file using a one-to-one mapping based on a characteristic of a data type of the original data file, thereby obtaining a mapped data file;

encoding the mapped data file, thereby obtaining an encoded, mapped data file;

storing the encoded, mapped data file in a non-volatile memory;

reading the encoded, mapped data file;

decoding the encoded, mapped data file using error correction, thereby obtaining a decoded, mapped data file; and

de-mapping the decoded, mapped data file, thereby obtaining a recreation of the original data file;

wherein the characteristic of the data type is one of a structure of the data type and a pattern of the data type.

9. The method of claim 8 , further comprising:

determining the one-to-one mapping based on an improvement in error correction of the decoding the encoded, mapped data file.

10. The method of claim 8 , further comprising:

determining the one-to-one mapping using an iterative process in which each iterative step improves improves mutual information of a content aware module's output (L out ) and the mapped data file.

11. The method of claim 8 , wherein:

the original data set is a non-uniformly distributed data set;

the mapping comprises: performing in a processor:

creating estimated data according to a distribution of a temporary underlying statistic based on a probable noise in the non-volatile memory;

calculating information L out based on the estimated data and feedback from a content aware module;

calculating mutual information between L out and the original data file before noise;

choosing a highest mutual information between L out and the original data file before noise; and

setting, as a map to be used to map the original data file, a map with a highest mutual information.

12. The method of claim 8 ,

wherein the original data file is a text file; and

wherein the mapping comprises: performing in a processor:

creating estimated data according to a distribution of a temporary underlying statistic based on a probable noise in the non-volatile memory;

calculating information L out based on the estimated data and feedback from a content aware module;

calculating mutual information between L out and the original data file before noise;

choosing a highest mutual information between L out and the original data file before noise; and

setting, as a map to be used to map the original data file, a map with a highest mutual information.

13. A memory controller for non-volatile memory, comprising:

a controller memory storing a plurality of data maps; and

a processor operatively coupled with the controller memory and configured to:

determine a data type of an original data file to be stored in nonvolatile memory based on a characteristic of the original data file;

select, from the plurality of data maps, a data map corresponding to the data type of the original data file;

map the original data file using the data map corresponding to the data type, thereby obtaining a mapped data file;

encode the mapped data file, thereby obtaining an encoded, mapped data file; and

store the encoded, mapped data file in the non-volatile memory;

wherein the characteristic of the original data file is one of a structure of the original data file and a pattern of the original data file.

14. The memory controller of claim 13 , wherein the processor is further configured to map a bijection of the original data file.

15. The memory controller of claim 13 , wherein the processor is further configured to: read the encoded, mapped data file from the non-volatile memory, decode, with a soft decoder, the encoded, mapped data file using an iterative content aware module, thereby obtaining the mapped data file, and de-map the decoded, mapped data file set using the data map corresponding to the data type, thereby obtaining a recreation of the original data file.

16. The memory controller of claim 15 , wherein the processor is further configured to feedback data characteristics learned from the soft decoder to the content aware module and, using the content aware module, process historical data characteristics for the data type with the feedback data characteristics.

17. The memory controller of claim 16 , wherein a size of the mapped data file and a size of the original data file are equal.

18. The memory controller of claim 13 , wherein each of the plurality of data maps is a data table that transforms each input byte of the original data file into an output byte of the mapped data file.

19. The memory controller of claim 18 , wherein the processor is further configured to store, in memory, the data type of the original data file, and select the data map corresponding to the data type using the stored data type.

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 May 9, 2019
From: FAINZILBER, OMER; AVRAHAM, DUDY
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 049130/0531 →