Data Encoding for Non-Volatile Memory Error and Power Constraints

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Non-volatile memory devices face increased bit error rates and inefficiencies in data storage due to cross-coupling effects and power consumption, particularly when storing data patterns with varying threshold voltages, which affects storage density and endurance.

Innovation Solution

Applying a series of transformations including Burrows-Wheeler permutation sorting, move-to-front transformation, and weight-based encoding to reduce entropy and enhance encoding efficiency, thereby improving storage efficiency, reducing programming time, and extending memory endurance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If more bits are stored per cell to increase storage density, then storage density is improved, but bit error rate increases

Engineering Contradiction:
Improvestorage densityVSAvoidbit error rate
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent applies preprocessing transformations (Burrows-Wheeler permutation sorting, move-to-front transformation) to the data before encoding and storage. These transformations are performed in advance to reduce entropy and optimize the data pattern, thereby improving reliability without sacrificing storage density.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If more parity bits are used to increase error correction capacity, then error correction capacity is improved, but number of bits required to store encoded data increases

Engineering Contradiction:
Improveerror correction capacityVSAvoidnumber of bits required
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent changes the parameters of the data representation by applying entropy-reducing transformations before encoding. This modifies the statistical properties of the data, allowing for more efficient encoding that requires fewer parity bits while maintaining the same error correction capacity.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If data patterns with widely differing threshold voltages are stored, then storage flexibility is improved, but cross-coupling effects increase

Engineering Contradiction:
Improvestorage flexibilityVSAvoidcross-coupling effects
Core Design Contradiction:
Adaptability or versatilityVSObject-generated harmful factors

Solution Approach 1:

The patent applies preliminary transformations to the data that anticipate and counteract the cross-coupling effects. By sorting permutations and applying move-to-front transformation, the data is pre-processed to minimize threshold voltage variations between adjacent cells, thereby reducing cross-coupling effects before storage occurs.

Inventive Principle:
Principle #9Preliminary anti-action

4Productivity

If programming speed is increased to improve productivity, then programming time is reduced, but power consumption during programming increases

Engineering Contradiction:
Improveprogramming speedVSAvoidpower consumption during programming
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent transforms the data parameters to reduce entropy before programming. This preprocessing creates a more favorable data distribution that requires less programming energy per bit, allowing for faster programming speeds with reduced power consumption.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9071269B2Encoding data for storage in a data storage device
Publication Date: 2015.06.30 SANDISK TECHNOLOGIES LLC
  • US9071269B2 patent drawing
  • US9071269B2 patent drawing
  • US9071269B2 patent drawing

AI summary

A data storage device includes a memory and a controller. A method performed in the data storage device includes performing a first transformation of a unit of data to generate a first transformed unit of data. Performing the first transformation includes sorting permutations of the unit of data. The method includes performing a move-to-front transformation of the first transformed unit of data to generate a second transformed unit of data. The method includes performing a weight-based encoding of the second transformed unit of data to generate an encoded unit of data. The encoded unit of data has a same number of bits as the unit of data.