Hybrid Storage Cache Management with Distributed Striping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing storage systems fail to optimize caching performance by not leveraging the unique characteristics of solid-state drives and non-volatile memory, leading to suboptimal data transfer and management across multiple cache levels.

Innovation Solution

Implementing distributed striping across rotational drives, using the Fastest-To-Fetch and Fastest-To-Flush algorithms alongside LRU, and managing cache states to enhance concurrent data operations and efficient data flow in hybrid storage systems with volatile and non-volatile caches.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional LRU cache replacement policy is used in hybrid storage systems, then implementation simplicity is maintained, but caching performance is suboptimal because it does not leverage non-volatile memory characteristics

Engineering Contradiction:
Improvecaching performanceVSAvoidcache management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent changes the cache replacement policy from traditional LRU to write-threshold-based replacement, where data is replaced when it reaches a certain write threshold rather than based on recency alone. This parameter change leverages the non-volatile memory's ability to retain data without frequent refreshes, improving caching performance while adapting to the specific characteristics of hybrid storage systems

Inventive Principle:
Principle #35Parameter changes

2Productivity

If non-volatile memory is used as cache without architecture-specific optimizations, then storage capacity is increased, but caching performance does not reach solid-state storage levels due to unoptimized data transfer operations

Engineering Contradiction:
Improveresponse timeVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSEase of manufacture

Solution Approach 1:

The patent segments the cache into volatile and non-volatile portions with distinct management strategies. The volatile cache handles frequently accessed hot data with fast transfer operations, while the non-volatile cache stores cold data with optimized write-threshold-based replacement. This segmentation allows the system to achieve solid-state storage response times by optimizing data transfer operations for each cache type according to its characteristics

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by pre-defining write thresholds for cache replacement and pre-organizing data in the non-volatile cache based on access patterns. This allows the system to proactively manage cache contents before performance degradation occurs, optimizing response times without requiring complex real-time decision-making

Inventive Principle:
Principle #10Preliminary action

3Productivity

If rotational drives are used without distributed striping, then system simplicity is maintained, but parallel operations are limited reducing overall throughput

Engineering Contradiction:
Improveparallel operations throughputVSAvoiddata management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies distributed striping to segment data across multiple rotational drives, allowing parallel read and write operations to occur simultaneously on different drives. This segmentation increases throughput by utilizing multiple drives concurrently while the underlying striping management handles the complexity of data distribution transparently

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9734067B1Write buffering
Publication Date: 2017.08.15 BITMICRO LLC
  • US9734067B1 patent drawing
  • US9734067B1 patent drawing
  • US9734067B1 patent drawing

AI summary

A hybrid storage system is described having a mixture of different types of storage devices comprising rotational drives, flash devices, SDRAM, and SRAM. The rotational drives are used as the main storage, providing lowest cost per unit of storage memory. Flash memory is used as a higher-level cache for rotational drives. Methods for managing multiple levels of cache for this storage system is provided having a very fast Level 1 cache which consists of volatile memory (SRAM or SDRAM), and a non-volatile Level 2 cache using an array of flash devices. It describes a method of distributing the data across the rotational drives to make caching more efficient. It also describes efficient techniques for flushing data from L1 cache and L2 cache to the rotational drives, taking advantage of concurrent flash devices operations, concurrent rotational drive operations, and maximizing sequential access types in the rotational drives rather than random accesses which are relatively slower. Methods provided here may be extended for systems that have more than two cache levels.