Flash Memory ECC Parity Bit Recycling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flash memory devices face challenges with long programming and erasing times, over-erasing issues, and the need for robust error correction methods to ensure data integrity, particularly in high-density and high-speed applications.

Innovation Solution

The method involves recycling error correction code (ECC) bits during flash memory programming by calculating and comparing ECC syndromes, selectively re-encoding ECC parity bits based on recent data blocks, and inhibiting ECC usage when necessary to prevent over-correction and optimize data storage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If ECC parity bits are calculated and stored for every data block, then data reliability is improved, but memory space is wasted and programming time increases

Engineering Contradiction:
Improvedata reliabilityVSAvoidprogramming time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent recovers and reuses ECC parity bits from previously stored data blocks that are no longer needed. When a data block is erased or overwritten, its ECC parity bits are retained and can be reused for new data blocks, discarding the notion that ECC bits must be freshly calculated for each block.

Inventive Principle:
Principle #34Discarding and recovering

Solution Approach 2:

The system dynamically changes the parameter of ECC parity bit validity by tracking which parity bits are still needed versus which ones can be reused. The controller monitors data block status and updates the recyclable ECC pool accordingly, adapting the ECC management strategy based on current memory state.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If ECC syndrome calculation and comparison is performed for every programming operation, then data integrity is enhanced, but power consumption increases

Engineering Contradiction:
Improvedata integrityVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The system performs self-service by automatically calculating ECC syndromes and comparing them during programming operations to determine recyclability. This self-validation mechanism ensures data integrity without requiring external verification, reducing overall system power consumption.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

Instead of performing full ECC verification for every single bit, the system performs partial action by calculating only the ECC syndrome and comparing it selectively. This reduced verification approach maintains data integrity while consuming less power than complete re-verification.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If additional parity bits are allocated for error correction, then error correction capability is improved, but memory storage density decreases

Engineering Contradiction:
Improveerror correction capabilityVSAvoidmemory storage density
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent makes ECC parity bits universal by enabling them to serve multiple data blocks. A single set of ECC parity bits can be reused across multiple recycling operations, allowing the same bits to provide error correction capability for different data blocks over time, thereby reducing the total number of parity bits needed.

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

Solution Approach 2:

The system recovers ECC parity bits from erased data blocks and redistributes them to new data blocks. This recovery process eliminates the need to allocate fresh parity bits for every block, maintaining error correction capability while preserving memory storage density.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS8117521B2Implementation of recycling unused ECC parity bits during flash memory programming
Publication Date: 2012.02.14 VALLEY DEVICE MANAGEMENT
  • US8117521B2 patent drawing
  • US8117521B2 patent drawing
  • US8117521B2 patent drawing

AI summary

Methods for recycling unused error correction code (ECC) during flash memory programming, comprise generating ECC from user data to form a syndrome and storing the syndrome into volatile memory. ECC is re-encoded corresponding to the syndrome read from the memory with new user data. Re-encoding ECC comprises comparing new ECC with the most recent ECC of the previous syndrome, correcting a bit error in the new ECC, and indicating if the new ECC has failed.