Flash Cache Checkpointing to Reduce SSD Erasures

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Maintaining the 'warmness' of flash cache across system restarts is challenging due to the limited number of erasures allowed in SSD memory devices, as frequent writes to update cache status information reduce the lifespan of SSDs and are not practical for persistent storage.

Innovation Solution

Implementing a checkpointing process that periodically saves cache status information in non-volatile memory, allowing the cache to remain warm across restarts without constant writing to SSD, thus minimizing erasures and extending SSD lifespan.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Stability of the object's composition

If cache status information is updated on every access, then cache warmness is maintained, but SSD erasures are consumed rapidly

Engineering Contradiction:
Improvecache warmnessVSAvoidSSD erasures
Core Design Contradiction:
Stability of the object's compositionVSLoss of substance

Solution Approach 1:

The patent implements periodic checkpointing of cache status information to persistent storage instead of updating on every access. The checkpointing process occurs at predetermined intervals (e.g., every N accesses or every M seconds), allowing the cache to maintain warmness through periodic persistence while dramatically reducing the frequency of SSD writes and erasures compared to continuous updating.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The patent uses volatile memory (DRAM) for the primary cache where data can be freely updated without wear concerns, and only periodically checkpoints to non-volatile storage. This allows the cache to operate as if it were volatile (free updates) while occasionally persisting state, separating the high-frequency update operations from the wear-prone persistent storage.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

2Reliability

If cache status information is frequently written to SSD, then cache state is persisted, but I/O cycles are consumed for status updates instead of serving data

Engineering Contradiction:
Improvecache state persistenceVSAvoiddata serving throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The checkpointing mechanism performs persistence operations periodically rather than on every cache access. This batches multiple cache state changes into periodic persistence operations, ensuring cache state is recovered after failures while minimizing the frequency of I/O cycles consumed by checkpointing, thereby preserving data serving throughput.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The patent performs checkpointing in the background or during low-utilization periods rather than synchronously during cache accesses. This preliminary or deferred persistence approach ensures that critical data serving operations are not blocked by checkpointing I/O, maintaining productivity while still achieving reliable state persistence.

Inventive Principle:
Principle #10Preliminary action

3Speed

If volatile memory is used for cache, then update speed is fast, but cache data is lost on system restart

Engineering Contradiction:
Improveupdate speedVSAvoidcache data
Core Design Contradiction:
SpeedVSLoss of information

Solution Approach 1:

The system uses volatile memory for fast cache operations with periodic checkpointing to non-volatile storage. This hybrid approach maintains the high update speed of volatile memory while periodically persisting cache state to prevent data loss on system restart, resolving the contradiction between speed and information retention.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The patent introduces a checkpointing mechanism as an intermediary between volatile cache memory and persistent storage. This mediator periodically captures cache state and transfers it to non-volatile storage, allowing the volatile cache to operate at high speed while the intermediary ensures data survival across system restarts.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10289549B1Checkpointing cache status information
Publication Date: 2019.05.14 EMC IP HLDG CO LLC
  • US10289549B1 patent drawing
  • US10289549B1 patent drawing
  • US10289549B1 patent drawing

AI summary

Embodiments are directed to maintaining cache status information for a flash-based cache after a system restart following a shutdown by periodically gathering the cache status information from one or more data structures in volatile memory, compiling the gathered cache status information into a checkpoint data structure stored in non-volatile memory, and upon the system restart, loading the checkpoint data element into the one or more data structures in volatile memory to restore the cache status information to a state just prior to the shutdown to maintain warmness of the cache across the restart. The restored cache status information is used by the system to make informed write eviction decisions to maintain correctness of the system after the restart relative to the state just prior to the shutdown.