Flash Cache Block Temperature Tracking for Garbage Collection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flash memory-based storage devices used as caches for hard disk systems face inefficiencies due to slow write times and high processing loads from garbage collection, which impact application performance and write endurance.

Innovation Solution

Integrating cache management operations with write coalescing and garbage collection to consolidate and reclaim segments containing obsolete and cold data blocks, reducing the need for separate mapping and processing loads, and leveraging block temperature to optimize garbage collection.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If flash memory is used as cache for hard disk systems, then read speed is improved, but write time increases and garbage collection processing load increases

Engineering Contradiction:
Improveread speedVSAvoidwrite time
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The patent combines cache management operations with garbage collection operations into a unified process. The cache manager and garbage collector share common data structures (temperature information, block status) and coordinate their actions, allowing simultaneous optimization of cache performance and write efficiency without separate processing overheads.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent creates a multi-functional system where the same hardware and software components serve multiple purposes: the temperature tracking mechanism serves both cache management decisions and garbage collection prioritization, while the unified manager handles both cache operations and garbage collection, reducing overall system complexity and processing overhead.

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

2Reliability

If separate cache management and garbage collection operations are implemented, then functionality is complete, but processing load and time overhead increase

Engineering Contradiction:
ImprovefunctionalityVSAvoidprocessing load
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent merges cache management and garbage collection into a single integrated manager that handles both functions simultaneously. This unified approach shares common data structures, coordination mechanisms, and processing resources, reducing the cumulative processing load while maintaining complete functionality for both cache operations and garbage collection.

Inventive Principle:
Principle #5Merging (Combining)

3Device complexity

If traditional garbage collection is used without temperature awareness, then simplicity is maintained, but write amplification increases and performance decreases

Engineering Contradiction:
Improvesystem simplicityVSAvoidwrite amplification
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent implements preliminary temperature tracking for all cache blocks before garbage collection is needed. By continuously monitoring and maintaining temperature information (hot, warm, cold classifications) as blocks are accessed or written, the system prepares prioritization data in advance, allowing garbage collection to immediately target cold blocks without additional analysis overhead, thus reducing write amplification.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10216639B2Identification of blocks to be retained in a cache based on temperature
Publication Date: 2019.02.26 HEWLETT PACKARD ENTERPRISE DEV LP
  • US10216639B2 patent drawing
  • US10216639B2 patent drawing
  • US10216639B2 patent drawing

AI summary

A storage device made up of multiple storage media is configured such that one such media serves as a cache for data stored on another of such media. The device includes a controller configured to manage the cache by consolidating information concerning obsolete data stored in the cache with information concerning data no longer desired to be stored in the cache, and erase segments of the cache containing one or more of the blocks of obsolete data and the blocks of data that are no longer desired to be stored in the cache to produce reclaimed segments of the cache.