Hybrid Storage Cache Management with Distributed Striping
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
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
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
3Productivity
If rotational drives are used without distributed striping, then system simplicity is maintained, but parallel operations are limited reducing overall throughput
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
Data Source
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.


