Flash Memory Coding with Valid All-1 Invalidation Markers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flash memories face challenges with low erasure granularity and interference influences affecting memory cell reliability, leading to difficulties in error correction and recognition, particularly when invalid data is marked using an all-1 vector that conflicts with error-correction codes.

Innovation Solution

A method is introduced to extend user data coding such that an all-1 vector can be used as a valid code word for invalidation, allowing for effective identification and decoding, using supplementary data and combinatorial logic to ensure the code word remains valid during reading, and utilizing an additional bit to indicate invalidation or store additional information.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If an all-1 vector is used to mark invalid data in flash memory, then data invalidation is achieved, but conflict with error-correction codes occurs preventing proper error recognition

Engineering Contradiction:
Improvedata invalidationVSAvoiderror recognition
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The code word is segmented into user data bits and supplementary data bits. The supplementary data bits are specifically designed to ensure that when all user data bits are 1 (invalidation marker), the resulting code word remains a valid codeword that can be properly recognized by the error-correction code, thus resolving the conflict between invalidation marking and error recognition

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Supplementary data bits act as an intermediary between the user data and the error-correction code. These bits are generated based on the user data and are used to adjust the code word such that the all-1 vector for user data transforms into a valid code word that doesn't conflict with the BCH code's error recognition capability

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If user data is extended with supplementary data for valid code word formation, then error recognition reliability is improved, but memory space is consumed

Engineering Contradiction:
Improveerror recognitionVSAvoidmemory space
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The supplementary data bits serve multiple functions: they ensure valid code word formation for error correction, enable proper invalidation marking, and can store additional information such as erase cycle counts, addresses, or status registers. This multi-functionality justifies the additional memory space consumption

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

3Reliability

If BCH code with additional overall parity is used for error correction, then error correction capability is improved, but code complexity increases

Engineering Contradiction:
Improveerror correctionVSAvoidcode structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The supplementary data bits are pre-calculated and appended to the user data before encoding with the BCH code. This preliminary action ensures that the resulting code word is always a valid codeword, simplifying the decoding process and reducing the complexity of the error correction mechanism

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8533566B2Method and apparatus for storing data
Publication Date: 2013.09.10 INFINEON TECHNOLOGIES AG
  • US8533566B2 patent drawing
  • US8533566B2 patent drawing
  • US8533566B2 patent drawing

AI summary

When coding user data, it may be desirable to mark user data as invalid. This may arise, by way of example, in applications in which a stored data item needs to be updated by virtue of an updated data item additionally being stored and the old stored data item being marked as invalid. In order to mark the invalidity of a stored data item by means of the value of the data item and to be able to apply an error-recognizing or error-correcting coding dependably, the user data are extended by supplementary data and the coding is applied to the extended user data.