Flash Memory Error Correction for Atomicity and Bit Inversion

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flash memory systems face challenges in ensuring reliable long-term data storage and atomicity of transactions due to limitations in error correction mechanisms, particularly in handling bit inversions and managing metadata, which existing hardware solutions are not adaptable to changing requirements and do not effectively correct errors across all memory words.

Innovation Solution

Implementing a software-based error correction method using a Hamming code that divides each memory word into a logical word and an error-correcting code, with a parity bit, allowing for efficient detection of bit inversions and atomicity management, thereby ensuring reliable storage and correction of errors in flash memory systems.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If error correction mechanisms are implemented in flash memory, then reliability of data storage is improved, but device complexity increases

Engineering Contradiction:
Improvereliability of data storageVSAvoidcomplexity of error correction mechanisms
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent divides each physical word into a logical word (data or metadata) and a separate error-correcting code portion. This segmentation allows the error correction functionality to be integrated without requiring complete redesign of the memory structure, thereby improving reliability while controlling complexity growth.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The error correction mechanism is designed to handle both data words and metadata words uniformly using the same Hamming code structure. This universal approach covers all memory content (data and atomicity metadata) with a single error correction system, improving overall reliability without proportionally increasing complexity for each separate function.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Measurement precision

If Hamming code is used for error correction in each physical word, then detection and correction of bit inversions is improved, but manufacturing precision requirements increase

Engineering Contradiction:
Improvedetection precision of bit inversionsVSAvoidprecision requirements for implementing error correction
Core Design Contradiction:
Measurement precisionVSManufacturing precision

Solution Approach 1:

The Hamming code implementation uses self-service encoding and decoding tables stored in the memory system itself. The encoding table converts logical words to physical words with embedded error correction bits, and the decoding table automatically detects and corrects bit inversions during read operations. This self-contained approach improves detection precision while avoiding external complex correction hardware.

Inventive Principle:
Principle #25Self-service

3Reliability

If error correction codes are generated for each logical word, then reliability of metadata and data is improved, but productivity decreases due to additional processing

Engineering Contradiction:
Improvereliability of metadata and dataVSAvoidprocessing speed of memory operations
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The error correction encoding is performed in advance during the write operation, converting each logical word into a physical word with embedded Hamming code bits before storage. This preliminary encoding ensures that when data is read, the error correction decoding can be performed quickly using pre-stored decoding tables, thereby improving reliability while minimizing the impact on read productivity.

Inventive Principle:
Principle #10Preliminary action

4Adaptability or versatility

If atomicity metadata is included in error correction coverage, then atomicity management is improved, but device complexity increases

Engineering Contradiction:
Improveatomicity management capabilityVSAvoidcomplexity of error correction mechanism
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The error correction mechanism is designed to handle both data words and metadata words uniformly using the same Hamming code structure. This universal approach covers all memory content (data and atomicity metadata) with a single error correction system, improving atomicity management capability without requiring separate complex correction mechanisms for different data types.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS10547326B2Error correction in a flash memory
Publication Date: 2020.01.28 STMICROELECTRONICS INT NV
  • US10547326B2 patent drawing
  • US10547326B2 patent drawing

AI summary

A method includes storing data and metadata related to the data in logical words in a non-volatile memory. For each logical word stored in the non-volatile memory, a corresponding error-correction code is generated. Each physical word stored contains a logical word and the corresponding error-correction code. The metadata may contain atomicity information. The non-volatile memory may be a flash memory. Each physical word may contain a parity bit based on the logical word and the corresponding error-correction code stored in the physical word. The logical words may be encoded into physical words including the corresponding error correction code using an encoding table. The data and the metadata may be split into logical words.