Reclaimed Flash Memory Optimization via UECC CECC Lists

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flash memory systems face inefficiencies in reusing partially usable memory blocks due to write errors and defects, leading to unnecessary discard and potential data loss, as existing technologies lack effective methods to optimize and maintain the quality of reclaimed memory.

Innovation Solution

Implementing lists for Uncorrectable Error Correction Code (UECC) and Correctable Error Correction Code (CECC) in conjunction with a dual programming scheme, where blocks with errors are identified and cycled, and the lists are dynamically updated based on read operations to determine which blocks should be retired or reused.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If reclaimed flash memory blocks are reused without optimization, then storage capacity is maintained, but data integrity and reliability deteriorate due to write errors and defects

Engineering Contradiction:
Improvedata integrityVSAvoidstorage utilization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments reclaimed memory blocks into different categories by maintaining separate lists (UECC list for uncorrectable errors, CECC list for correctable errors). This segmentation allows differential handling of blocks based on their error characteristics, enabling reliable reuse of blocks with correctable errors while identifying blocks with uncorrectable errors for retirement, thus resolving the contradiction between storage utilization and data integrity

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary classification of reclaimed blocks into UECC and CECC lists before reuse. By proactively identifying and categorizing blocks with potential errors through initial read operations and error analysis, the system prepares appropriate handling strategies in advance, ensuring data integrity is maintained while maximizing storage utilization of suitable blocks

Inventive Principle:
Principle #10Preliminary action

2Reliability

If dual programming scheme is applied to all blocks, then data integrity is improved, but device complexity and processing overhead increase

Engineering Contradiction:
Improveerror correctionVSAvoidprogramming overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies dual programming selectively rather than universally by checking whether blocks reside on the UECC or CECC lists. Blocks with correctable errors (CECC list) receive dual programming for enhanced reliability, while blocks without errors do not require this overhead. This localized application of error correction measures optimizes the balance between reliability improvement and complexity reduction

Inventive Principle:
Principle #3Local quality

3Reliability

If blocks with errors are discarded immediately, then data reliability is maintained, but storage capacity and lifespan are reduced

Engineering Contradiction:
Improveerror preventionVSAvoidusable memory capacity
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent recovers potentially usable capacity from error-prone blocks by classifying them into UECC and CECC lists rather than immediate discard. Blocks with correctable errors are recovered and made available for reuse with appropriate error handling, while only blocks with uncorrectable errors are discarded. This approach maximizes usable memory capacity while maintaining data reliability through selective error management

Inventive Principle:
Principle #34Discarding and recovering

4Measurement precision

If lists are updated frequently through read operations, then block quality monitoring is improved, but energy consumption and write amplification increase

Engineering Contradiction:
Improveblock quality assessmentVSAvoidread operation energy
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The patent performs partial updates to the UECC and CECC lists by conducting read operations and error analysis only on reclaimed blocks that need classification, rather than continuously monitoring all blocks. This partial action approach maintains adequate block quality assessment precision while minimizing unnecessary read operations and associated energy consumption

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9886341B2Optimizing reclaimed flash memory
Publication Date: 2018.02.06 SANDISK TECHNOLOGIES LLC
  • US9886341B2 patent drawing
  • US9886341B2 patent drawing
  • US9886341B2 patent drawing

AI summary

A memory system or flash card may optimize usage of reclaimed memory. The optimization may include lists for Uncorrectable Error Correction Code (UECC) and Correctable Error Correction Code (CECC) that can be used along with a dual programming scheme. Dual programming may be utilized for blocks on the lists, but not for blocks that are not on the lists. The lists can be updated by reading data programmed to blocks on the lists.