Non-Volatile Memory ECC Timing for Full-Space Programming

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current non-volatile memory devices, such as flash memory, waste memory space because the error correcting code area can only be programmed once during initial programming, preventing additional programming even when there is available space.

Innovation Solution

Implementing a system where a code generation command is used by the memory controller to generate and store an error correcting code when the data area approaches full capacity, allowing multiple programming cycles until the code generation command is processed, thereby optimizing memory usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the error correcting code area is programmed during initial programming, then the data area can be fully utilized, but additional programming of the data area is not permitted resulting in memory space waste

Engineering Contradiction:
Improvedata reliabilityVSAvoidmemory space utilization
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent applies preliminary action by generating and storing the error correcting code before the data area reaches full capacity. The memory controller monitors the data area fill level and triggers ECC generation in advance, allowing the data area to be fully utilized for additional programming while maintaining data reliability through pre-computed error correction codes.

Inventive Principle:
Principle #10Preliminary action

2Ease of manufacture

If the error correcting code area is programmed only once, then the programming process is simple, but the memory space cannot be efficiently used when data area has blank space

Engineering Contradiction:
Improveprogramming process simplicityVSAvoidmemory space efficiency
Core Design Contradiction:
Ease of manufactureVSQuantity of substance

Solution Approach 1:

The patent implements feedback by having the memory controller continuously monitor the data area fill level and dynamically trigger ECC generation based on this feedback. When the data area approaches full capacity, the controller generates a code generation command to create the error correcting code, enabling efficient memory space utilization while maintaining programming process simplicity through automated control.

Inventive Principle:
Principle #23Feedback

3Quantity of substance

If additional data is programmed after initial programming, then memory capacity is increased, but error correction code must be regenerated to maintain reliability

Engineering Contradiction:
Improvestored data capacityVSAvoiddata integrity
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent applies preliminary action by proactively generating the error correcting code before the data area is completely full. This allows additional data to be programmed into the data area while the ECC is already in place or being generated, ensuring data integrity is maintained throughout the programming process without requiring regeneration after each additional programming operation.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8438460B2Error correction scheme for non-volatile memory
Publication Date: 2013.05.07 MONTEREY RESEARCH LLC
  • US8438460B2 patent drawing
  • US8438460B2 patent drawing
  • US8438460B2 patent drawing

AI summary

Error correcting systems, methods, and devices for non-volatile memory are disclosed. In one embodiment, a non-volatile memory device comprises a data area for storing data, an error correcting code generation section for generating an error correcting code in response to receipt of a code generation command, and an error correcting code area for storing the error correcting code. The non-volatile memory device further comprises a detector circuit for detecting the generating of the error correcting code, and a read section for correcting the data stored in the data area based on the error correcting code upon the detecting of the generation of the error correcting code by the detector circuit, where the code generation command is forwarded by a memory controller when the data are is filled with the data beyond a threshold level