Flash Cache Page Allocation Balancing
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
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
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.
Data Source
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.


