Flash-Friendly Cache for CDM Workloads

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing storage systems are inefficient for handling small, random reads and writes in software development and testing scenarios, as they are optimized for large sequential writes and reads, leading to high latency and resource consumption.

Innovation Solution

A flash-friendly cache system with a RAM-based data stage and a chunk database in flash memory, performing aligned block writes and utilizing a hash table for content-awareness, allowing for efficient caching of data and minimizing latency and storage space usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the storage system is optimized for large sequential writes and reads, then backup and restore operations are efficient, but small random reads and writes experience high latency and resource consumption

Engineering Contradiction:
Improvebackup and restore efficiencyVSAvoidlatency for small random reads and writes
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The storage system is segmented into two distinct pathways: a backup/restore pathway optimized for large sequential operations, and a CDM pathway optimized for small random operations. This segmentation allows each pathway to be independently optimized without compromising the other, resolving the contradiction between backup efficiency and small random I/O performance

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A flash-friendly cache acts as an intermediary layer between the backup storage and CDM workloads. This cache is specifically optimized for small random reads and writes, absorbing the latency burden while allowing the underlying storage to remain optimized for sequential operations. The cache mediates between the two conflicting requirements by handling small random I/O requests separately

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If the storage system is optimized for large sequential writes, then backup operations are efficient, but applications performing transactions experience high resource consumption

Engineering Contradiction:
Improvebackup operation efficiencyVSAvoidresource consumption for transaction operations
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The system segments resource allocation by creating dedicated storage pathways: one for backup operations and another for CDM workloads. The CDM pathway with flash-friendly cache handles transaction operations with lower resource consumption, while the backup pathway maintains optimization for large sequential writes, thus resolving the resource consumption contradiction

Inventive Principle:
Principle #1Segmentation

3Speed

If a traditional cache is used, then read operations are fast, but write operations suffer from write amplification and lack of flash memory optimization

Engineering Contradiction:
Improveread operation speedVSAvoidwrite amplification
Core Design Contradiction:
SpeedVSLoss of energy

Solution Approach 1:

The cache parameters are specifically changed to match flash memory characteristics: write alignment to flash block boundaries, write sizing matched to flash erasure blocks, and wear leveling algorithms adapted for flash. These parameter changes eliminate write amplification while maintaining fast read performance, as the cache now speaks the same 'language' as the underlying flash storage

Inventive Principle:
Principle #35Parameter changes

4Quantity of substance

If the storage system handles both backup and CDM workloads on the same optimized path, then capacity is maximized, but performance for both workloads deteriorates

Engineering Contradiction:
Improvestorage capacity utilizationVSAvoidoverall workload performance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The storage system is divided into separate logical pathways for backup and CDM workloads, allowing each to be optimized independently. The CDM pathway with flash-friendly cache handles small random I/O efficiently, while the backup pathway handles large sequential operations efficiently. This segmentation maintains high overall productivity while preserving full storage capacity through proper resource allocation

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The flash-friendly cache serves multiple functions: it acts as a read cache for fast data retrieval, a write buffer for accumulating data before aligned block writes to flash, and a translation layer that adapts application I/O patterns to flash memory requirements. This multi-functionality allows a single component to address multiple performance requirements simultaneously

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

Data Source

PatentEP3394759B1Method for flash-friendly caching for CDM workloads
Publication Date: 2021.05.12 VERITAS TECHNOLOGIES LLC
  • EP3394759B1 patent drawingFigure 1
  • EP3394759B1 patent drawingFigure 2
  • EP3394759B1 patent drawingFigure 3A~3B

AI summary

A processor-based method for flash-friendly caching is provided. The method includes reading data from a first memory and writing the data to a second memory, in a cache. The method includes performing an aligned block write of data from the second memory in the cache to a flash memory in the cache, responsive to accumulating sufficient data for the aligned block write.