Block Address Entropy Tracking for SSD Garbage Collection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Garbage collection in SSDs is resource-intensive due to the need to read and rewrite valid data from non-volatile memory, which can be slowed by the mismatch between write and erase granularities, and limited RAM cache sizes that reduce performance by requiring frequent retrieval of mapping table pieces.

Innovation Solution

Implementing a system that tracks block address entropy to estimate the number of mapping table reads required for garbage collection, allowing for more efficient selection of source blocks and data routing by using block-level data structures and counters to determine the number of mapping table pieces needed for each block.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If garbage collection is performed in foreground with frequent mapping table retrieval from non-volatile memory, then data validity can be checked, but SSD performance decreases due to time-consuming retrieval operations

Engineering Contradiction:
Improvedata validity check accuracyVSAvoidSSD performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system pre-calculates and stores block address entropy values for all blocks before garbage collection begins. This preliminary action allows the garbage collection process to quickly identify suitable source blocks without performing time-consuming mapping table retrievals during the actual garbage collection operation, thus maintaining both data validity accuracy and SSD performance

Inventive Principle:
Principle #10Preliminary action

2Quantity of substance

If RAM cache size is reduced, then device cost decreases, but garbage collection performance decreases due to insufficient mapping table caching

Engineering Contradiction:
ImproveRAM cache sizeVSAvoidgarbage collection performance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The invention changes the parameter being optimized from RAM cache size to block address entropy calculation. By using entropy-based block selection criteria, the system can achieve efficient garbage collection with smaller RAM cache sizes, as the entropy pre-calculation compensates for the reduced ability to cache mapping table pieces

Inventive Principle:
Principle #35Parameter changes

3Productivity

If block address entropy tracking is implemented, then source block selection efficiency improves, but device complexity increases due to additional data structures and counters

Engineering Contradiction:
Improvesource block selection efficiencyVSAvoiddata structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system segments the large mapping table into smaller pieces and tracks which pieces are needed for each block using entropy counters. This segmentation approach allows efficient block selection by focusing on blocks that require fewer mapping table pieces, while the modular counter structure keeps the complexity manageable through systematic organization

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9921956B2System and method for tracking block level mapping overhead in a non-volatile memory
Publication Date: 2018.03.20 SANDISK TECHNOLOGIES LLC
  • US9921956B2 patent drawing
  • US9921956B2 patent drawing
  • US9921956B2 patent drawing

AI summary

A system and method is disclosed for tracking block mapping overhead in a non-volatile memory. The system may include a non-volatile memory having multiple memory blocks and a processor configured to track a block level mapping overhead for closed blocks of the multiple memory blocks. The processor may be configured to track predetermined logical address ranges within which data written to a block fall, and then store the sum of the number of different logical address ranges for each respective block as a block address entropy metric. The method may include the processor using the block address entropy metric to select source blocks for garbage collection with a lower block address entropy metric or to adjust other operational characteristics such as data routing within the non-volatile memory system based on average block address entropy for a group of blocks.