Adaptive Flash Over-Provisioning During Garbage Collection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory systems face inefficiencies in data storage and retrieval due to the need for frequent erasure and programming of entire blocks, leading to wear and tear, and suboptimal use of memory capacity, particularly when dealing with over-provisioning and garbage collection processes.

Innovation Solution

The method involves adaptive over-provisioning, where the processor dynamically adjusts the over-provisioning overhead based on predefined criteria such as wear level, error rates, and storage reliability, by modifying ECC redundancy, storage density, and data compression, to optimize memory performance and extend the lifespan of memory cells.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If frequent erasure and programming of entire memory blocks is performed, then data storage and retrieval operations can be completed, but wear on memory cells increases and throughput decreases

Engineering Contradiction:
Improvestorage throughputVSAvoidmemory cell wear
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The memory block is segmented into multiple pages, allowing only the specific page containing the modified data to be erased and reprogrammed, rather than erasing the entire block. This segmentation enables partial block operations, reducing wear on unaffected memory cells and improving throughput by minimizing unnecessary erasure cycles.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary identification of valid data pages within a block before erasure operations. By预先 determining which pages contain valid data, the system can preserve these pages and only erase modified pages, thereby reducing the frequency of erasure operations and extending memory cell lifespan while maintaining storage throughput.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If fixed over-provisioning ratio is used, then memory management is simplified, but storage efficiency decreases and lifespan is reduced under varying workloads

Engineering Contradiction:
Improveover-provisioning adaptationVSAvoidmemory management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The over-provisioning ratio is made dynamic rather than fixed, allowing it to adapt to varying workload conditions, wear levels, and data criticality. The system automatically adjusts the proportion of reserved memory blocks based on real-time conditions, optimizing both storage efficiency and memory lifespan without requiring complex manual configuration.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The memory management system automatically monitors wear levels, data criticality, and workload patterns, then self-adjusts the over-provisioning ratio without external intervention. This self-service approach enables adaptive optimization while keeping the management interface simple, as the system autonomously makes decisions based on predefined criteria.

Inventive Principle:
Principle #25Self-service

3Reliability

If higher ECC redundancy is applied, then data reliability improves, but storage capacity decreases

Engineering Contradiction:
Improvedata reliabilityVSAvoidstorage capacity
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

Different ECC redundancy levels are applied locally to different data blocks or pages based on their criticality requirements. Critical data receives higher ECC redundancy for enhanced reliability, while non-critical data uses lower redundancy, thereby maximizing overall storage capacity while ensuring data reliability where most needed.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system dynamically changes the ECC redundancy parameter based on data criticality, wear level, and workload conditions. By adjusting the ECC code rate and redundancy level adaptively, the system optimizes the balance between data reliability and storage capacity, allocating more redundancy resources to critical operations and preserving capacity for non-critical data.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8650461B2Adaptive over-provisioning in memory systems
Publication Date: 2014.02.11 APPLE INC
  • US8650461B2 patent drawing
  • US8650461B2 patent drawing
  • US8650461B2 patent drawing

AI summary

A method for data storage includes, in a memory that includes multiple memory blocks, specifying at a first time a first over-provisioning overhead, and storing data in the memory while retaining in the memory blocks memory areas, which do not hold valid data and whose aggregated size is at least commensurate with the specified first over-provisioning overhead. Portions of the data from one or more previously-programmed memory blocks containing one or more of the retained memory areas are compacted. At a second time subsequent to the first time, a second over-provisioning overhead, different from the first over-provisioning overhead, is specified, and data storage and data portion compaction is continued while complying with the second over-provisioning overhead.