Hamming Distance Encoding for Bit-Error-Tolerant Number Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing semiconductor memory technologies face challenges in representing floating-point numbers due to high distortion caused by single bit errors in binary strings, which can lead to significant changes in the represented value, and require additional error correction mechanisms to ensure data integrity.

Innovation Solution

The use of Hamming Distance-Based representations for binary numbers, which encode data such that a single bit flip results in a maximum distortion of less than a threshold amount, allowing for reduced memory requirements and improved read/write performance by generating and storing these representations only when necessary, based on detected bit error conditions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional binary representation is used, then memory capacity is maximized, but data reliability deteriorates due to high distortion from single bit errors

Engineering Contradiction:
Improvedata integrityVSAvoiderror protection mechanisms
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent transforms the binary representation parameters by using Hamming distance-based encoding instead of conventional binary. This changes the fundamental parameter of how data is represented, ensuring that single bit errors result in maximum distortion of less than 1/(n-1) where n is the number of bits. This parameter transformation inherently provides error resilience without requiring additional error correction mechanisms.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent converts the harmful effect of bit errors into a beneficial property by designing a representation system where bit flips naturally result in small distortions. Instead of trying to prevent or detect bit errors, the system accepts them and ensures they cause minimal harm, transforming the harm of bit errors into a benefit of inherent error resilience.

Inventive Principle:
Principle #22Blessing in disguise (Convert harm into benefit)

2Reliability

If error correction circuitry is added, then data reliability improves, but memory die area increases

Engineering Contradiction:
Improvedata integrityVSAvoidmemory die area
Core Design Contradiction:
ReliabilityVSArea of stationary object

Solution Approach 1:

The patent extracts the error protection function from separate error correction circuitry and embeds it directly into the data representation itself. By using Hamming distance-based encoding, the error resilience is built into the fundamental structure of how data is stored, eliminating the need for separate error correction hardware and reducing memory die area.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If conventional binary storage is used, then write performance is maximized, but data reliability deteriorates

Engineering Contradiction:
Improvedata integrityVSAvoidwrite performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent performs preliminary encoding of data into Hamming distance-based representation before storage. This preliminary action ensures that data is pre-protected against bit errors, so when data is written to memory, it already has inherent error resilience built in, maintaining write performance while improving reliability.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11251812B2Encoding and decoding of hamming distance-based binary representations of numbers
Publication Date: 2022.02.15 SANDISK TECHNOLOGIES LLC
  • US11251812B2 patent drawing
  • US11251812B2 patent drawing
  • US11251812B2 patent drawing

AI summary

Systems and methods for dynamically encoding and decoding binary numbers using linear-time algorithms that encode and decode Hamming Distance-Based representations for the binary numbers are described. The binary numbers may correspond with integer values, such as 64-bit, 128-bit, or 256-bit integer values. In some cases, in response to detecting that a binary number is to be stored using a particular type of memory (e.g., a phase change memory), the binary number may first be encoded using a Hamming Distance-Based representation and then the encoded data may be written to the particular type of memory. The binary number may be encoded by generating a binary string or a binary array representing the binary number such that if one bit flips within the binary string or the binary array, the maximum distortion in the number is less than a threshold amount (e.g., less than 256).