Flash Cache Eviction Policy for Storage Controller Failover

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data storage networks face inefficiencies in flash storage management, including high costs and latency due to the limited size of flash caches and the wasteful insertion of data into flash pools, as well as accessibility issues during storage controller failures.

Innovation Solution

Implementing a method that utilizes a flash cache to filter data for the flash pool, where data frequently accessed is stored in the flash cache and then transferred to the flash pool, reducing insertion costs and latency by ensuring only 'hot' data is stored in the flash pool, and allowing seamless access during failovers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If data is inserted into flash pool to improve access speed, then latency is reduced, but insertion cost increases

Engineering Contradiction:
Improvedata access speedVSAvoidinsertion cost
Core Design Contradiction:
SpeedVSLoss of energy

Solution Approach 1:

The system changes the parameter of data selection by using an age-based eviction policy to identify 'hot' data blocks that are frequently accessed. Only these identified hot blocks are inserted into the flash pool, rather than inserting all data blocks. This parameter change in selection criteria reduces unnecessary insertions and lowers insertion cost while maintaining fast access speed for frequently accessed data.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The flash cache performs self-service by automatically identifying hot data blocks through its age-based eviction policy and proactively inserting them into the flash pool. This self-identification mechanism eliminates the need for external analysis or manual selection, allowing the system to autonomously optimize which data should be in the flash pool for fast access, thereby reducing overall insertion costs.

Inventive Principle:
Principle #25Self-service

2Speed

If flash cache size is increased to reduce latency, then access performance improves, but cost increases

Engineering Contradiction:
Improvedata access speedVSAvoidflash cache size
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The system extracts only the essential hot data blocks from the flash cache based on age-based eviction criteria and moves them to the flash pool. This extraction principle allows the system to maintain a smaller flash cache size while still providing fast access to frequently accessed data through the flash pool, thereby reducing the quantity of flash memory required.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The flash pool acts as an intermediary between the flash cache and HDDs, storing hot data blocks that are evicted from the flash cache. This intermediary layer allows the system to use a smaller flash cache while maintaining fast access performance, as the flash pool serves as a buffer for frequently accessed data that has been moved from the limited-size flash cache.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Speed

If flash cache is used to improve access speed, then latency is reduced, but accessibility during failover is lost

Engineering Contradiction:
Improvedata access speedVSAvoidaccessibility during failover
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system performs preliminary action by proactively inserting hot data blocks into the flash pool before any failover event occurs. By using the age-based eviction policy to identify and pre-position hot data in the flash pool (which is accessible across storage controllers), the system ensures that fast access is maintained even after failover, as the hot data is already in the accessible flash pool rather than being trapped in the failed controller's flash cache.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10686906B2Methods for managing multi-level flash storage and devices thereof
Publication Date: 2020.06.16 NETAPP INC
  • US10686906B2 patent drawing
  • US10686906B2 patent drawing
  • US10686906B2 patent drawing

AI summary

A method, non-transitory computer readable medium and storage controller computing device that receives a read request from a client device. Data corresponding to the read request is retrieved from a flash cache comprising local flash memory. The data is returned to the client device in response to the read request. A determination is made when the data is stored in a flash pool. The flash pool comprises a plurality of solid state drives (SSDs). The data is inserted into the flash pool, when the determining indicates that the data is not stored in the flash pool. With this technology, a flash pool is populated based on hits in a flash cache. Accordingly, flash cache is utilized to provide low latency reads while the most important data is preserved in the flash pool to be used by another storage controller computing device in the event of a failover.