Multi-Tier Flash Cache Using Spare Drives for Capacity Utilization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In traditional disk arrays, expensive Solid-State Disk (SSD) caches are often left idle as spare drives, leading to wastefulness and inefficient system utilization, as they are not effectively utilized to enhance cache performance due to hardware limitations and RAID group configurations.

Innovation Solution

A multi-tier flash cache system is established by selecting spare SSD drives to create a secondary cache when the main cache is full, using SSDs with higher write durability as the first tier and those with lower durability as subsequent tiers, allowing for efficient data flushing and I/O request handling, thereby optimizing spare drive utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If spare SSD drives are reserved for RAID replacement, then system reliability is improved, but cache capacity utilization deteriorates

Engineering Contradiction:
Improvesystem reliabilityVSAvoidcache capacity utilization
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The spare SSD drives are assigned multiple functions: they serve as hot spares for RAID group replacement to ensure system reliability, and simultaneously function as secondary cache storage to improve cache capacity utilization. When the main cache is full, data is flushed to the secondary cache formed by spare drives, thereby eliminating the waste of idle spare SSDs while maintaining their backup capability.

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

2Productivity

If main cache capacity is increased, then cache performance is improved, but cost increases

Engineering Contradiction:
Improvecache performanceVSAvoidcost
Core Design Contradiction:
ProductivityVSLoss of substance

Solution Approach 1:

The cache system is segmented into two tiers: main cache and secondary cache. The main cache uses high-performance SSDs for fast data access, while the secondary cache utilizes spare SSD drives for additional capacity. This segmentation allows the system to achieve improved cache performance through the main cache while controlling costs by using otherwise idle spare drives for the secondary cache, avoiding the need to purchase additional expensive SSDs.

Inventive Principle:
Principle #1Segmentation

3Quantity of substance

If spare SSDs are used as secondary cache, then cache capacity is improved, but write durability decreases

Engineering Contradiction:
Improvecache capacityVSAvoidwrite durability
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

Different quality levels are assigned to different cache tiers based on their usage characteristics. The main cache uses SSDs with higher write durability for frequent write operations, while the secondary cache formed by spare SSDs accepts data that is less frequently accessed. This local quality differentiation allows the system to optimize overall cache capacity while managing write durability requirements appropriately for each cache level.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10860496B2Method, apparatus and computer readable medium for building multi-tier flash cache by using spare flash drives and clean user data is flushed from main flash cache to one of the spare flash drives that only stores the clean user data, wherein the main flash cache is configured as one or more pairs of flash drives and the one of the spare flash drives is allocated as single drive to secondary flash cache
Publication Date: 2020.12.08 EMC IP HLDG CO LLC
  • US10860496B2 patent drawing
  • US10860496B2 patent drawing
  • US10860496B2 patent drawing

AI summary

A computer-implemented method for establishing a multi-tier flash cache using spare drives. The method includes, in response to receiving an I/O request, determining that there is no free page in a main cache. Having determined that there is no free page in the main cache, the method further includes establishing a secondary cache by selecting at least one spare drive from a plurality of spare drives, flushing data from a cold page in the main cache to the secondary cache, an access frequency of the cold page being lower than a predetermined threshold, and writing data related to the I/O request from a persistent storage device to the cold page.