Flash Cache Page Allocation Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In flash cache systems, there is a challenge in balancing allocated cache pages among non-volatile storage devices, leading to potential imbalances that can affect performance and the lifespan of storage devices due to uneven I/O operations.

Innovation Solution

A method is implemented to determine the expected number of allocated cache pages in a flash cache, compare it with the actual number, and select a free cache page on a non-volatile storage device for allocation, ensuring balanced usage and extending the lifespan of storage devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If cache pages are allocated to non-volatile storage devices without balancing, then the allocation process is simple, but the I/O operations become unevenly distributed causing performance degradation and reduced device lifespan

Engineering Contradiction:
ImproveI/O operation distributionVSAvoidcache allocation process
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a feedback mechanism that continuously monitors the number of allocated cache pages on each non-volatile storage device and adjusts future allocations based on current device states. The system calculates expected allocated cache pages based on device capacity and performance characteristics, then compares this with actual allocations to determine whether to allocate additional cache pages to specific devices. This closed-loop control ensures balanced I/O distribution while maintaining allocation simplicity through automated decision-making.

Inventive Principle:
Principle #23Feedback

2Productivity

If more cache pages are allocated to a storage device, then the caching performance improves, but the device lifespan decreases due to increased I/O operations

Engineering Contradiction:
Improvecaching performanceVSAvoidstorage device lifespan
Core Design Contradiction:
ProductivityVSDuration of action of stationary object

Solution Approach 1:

The patent dynamically adjusts the number of cache pages allocated to each storage device based on multiple parameters including device capacity, current I/O load, performance metrics, and expected lifespan. By changing the allocation parameter (number of cache pages) according to device state and usage patterns, the system optimizes the balance between caching performance and device durability. Devices with higher capacity or better performance characteristics receive more cache pages, while devices approaching capacity or showing signs of wear receive fewer allocations.

Inventive Principle:
Principle #35Parameter changes

3Duration of action of stationary object

If cache pages are evenly distributed among all storage devices, then device lifespan is extended, but the caching performance may be suboptimal for devices with different capacities

Engineering Contradiction:
Improvestorage device lifespanVSAvoidcaching performance
Core Design Contradiction:
Duration of action of stationary objectVSProductivity

Solution Approach 1:

The patent applies local quality by tailoring the cache page allocation to the specific characteristics of each non-volatile storage device. Instead of uniform distribution, the system calculates expected allocated cache pages based on individual device properties such as capacity, performance speed, and current utilization. Each device receives a customized allocation that matches its capabilities, ensuring that high-performance devices contribute more to caching while still maintaining overall balance. This differentiated approach allows devices with different capacities to operate at optimal efficiency levels.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9933952B1Balancing allocated cache pages among storage devices in a flash cache
Publication Date: 2018.04.03 DELL EMC
  • US9933952B1 patent drawing
  • US9933952B1 patent drawing
  • US9933952B1 patent drawing

AI summary

Described herein are techniques for use in balancing allocated cache pages among storage devices in a flash cache. The techniques comprise determining an expected number of allocated cache pages in connection with a non-volatile storage device that forms at least part of a flash cache. The techniques also comprise performing a comparison between the expected number of allocated cache pages and an actual number of allocated or free cache pages in connection with the non-volatile storage device. The techniques further comprise selecting, based on the comparison, a free cache page in connection with the non-volatile storage device to allocate as a cache page.