Hybrid Push-Pull Garbage Collection for SSD Data Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Solid state drives (SSDs) face performance reduction due to significant processing burdens from garbage collection, which is necessary due to the mismatch between write and erase granularities in block-oriented storage devices, leading to write amplification and increased data management overhead.

Innovation Solution

A hybrid push-pull garbage collection technique that sorts data into different sub-drives by selecting a source block and relocating valid data to open relocation blocks based on data type, using a shared volatile memory buffer for XOR operations and error correction, reducing the need for separate buffers and XOR engines.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional garbage collection is used to manage block-oriented storage, then data relocation is achieved, but processing burden increases and performance decreases

Engineering Contradiction:
Improvedata management capabilityVSAvoidSSD performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the non-volatile memory into multiple sub-drives, each dedicated to storing data of a specific type (e.g., sequential, random, compressed, uncompressed). During garbage collection, valid data is sorted and relocated to sub-drives based on data type characteristics. This segmentation enables parallel processing across multiple sub-drives and reduces the processing burden on a single garbage collection engine, thereby improving SSD performance while maintaining reliable data management.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If data of different temperatures is mixed in the same blocks, then storage space is utilized, but write amplification increases significantly

Engineering Contradiction:
Improvestorage utilizationVSAvoidwrite amplification
Core Design Contradiction:
Quantity of substanceVSLoss of substance

Solution Approach 1:

The patent applies local quality by assigning different data temperature characteristics to different sub-drives. Hot data (frequently accessed) is separated from cold data (infrequently accessed) into different sub-drives based on their access patterns. This local differentiation within the storage system reduces write amplification because cold data does not require frequent rewriting, while hot data can be optimized for quick access. The solution maintains high storage utilization by efficiently packing data into appropriate sub-drives while minimizing unnecessary write operations.

Inventive Principle:
Principle #3Local quality

3Reliability

If separate buffers and XOR engines are allocated for each sub-drive, then data protection is improved, but device complexity increases

Engineering Contradiction:
Improvedata protection capabilityVSAvoidbuffer and XOR engine requirements
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges the buffer and XOR engine resources across multiple sub-drives. Instead of allocating separate buffers and XOR engines to each sub-drive, a single shared buffer and XOR engine are used to service multiple sub-drives. The system dynamically allocates these shared resources based on the current garbage collection needs. This merging approach maintains data protection capabilities through proper error correction while significantly reducing device complexity and resource requirements.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The shared buffer and XOR engine are designed with multi-functionality to serve multiple sub-drives. The buffer can store data from any sub-drive, and the XOR engine can process error correction for any sub-drive's data. This universal design allows the same hardware resources to perform multiple functions across different sub-drives, reducing overall system complexity while maintaining reliable data protection through consistent error correction mechanisms.

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

Data Source

PatentUS20180300081A1System and method for hybrid push-pull data management in a non-volatile memory
Publication Date: 2018.10.18 SANDISK TECHNOLOGIES LLC
  • US20180300081A1 patent drawing
  • US20180300081A1 patent drawing
  • US20180300081A1 patent drawing

AI summary

A system and method is disclosed for managing data in a garbage collection operation using a hybrid push-pull technique. The system includes multiple non-volatile memory sub-drives associated with a specific data type and shared volatile memory garbage collection buffer sized to only receive a predetermined amount of host data of a single data type and associated large data chunk correction data. A controller identifies and accumulates valid data of a single data type from the source block and combines it with XOR data for that valid data to generate a protected data stripe in the buffer. The controller writes the protected data stripe to the sub-drive containing data of the same data type. Only after writing the protected data stripe to the appropriate sub-drive, the controller repeats the process in the same source block for the same or different data type of data.