Resizable Cache System Data Relocation Strategy
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing storage systems face challenges in efficiently managing cache space, particularly in identifying and relocating data from underutilized cache portions to free up resources without losing dirty data during size adjustments.
Innovation Solution
A method is implemented to identify a portion of cache space for removal in a mirrored flash-based cache system, cease promoting that portion, and relocate dirty data to a backend storage system, allowing for reallocation of solid-state disks and maintaining data integrity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If cache space is reduced to optimize performance, then access speed improves, but data loss risk increases
Solution Approach 1:
The system performs preliminary actions by identifying and relocating dirty data blocks before actually removing cache space. The cache management process proactively scans for dirty data, creates relocation entries, and moves data to backend storage before the cache portion is removed, ensuring data integrity is maintained throughout the optimization process
Solution Approach 2:
The system introduces an intermediary mechanism using relocation entries and a temporary buffer space. When dirty data needs to be moved, the system creates relocation entries that track the data blocks, uses buffer space as a temporary holding area during the relocation process, and maintains mapping information to ensure proper data transfer from cache to backend storage without loss
2Productivity
If cache size is dynamically adjusted to match workload, then resource utilization improves, but operational complexity increases
Solution Approach 1:
The system segments the cache into multiple manageable portions that can be independently removed and reallocated. Instead of managing a single monolithic cache, the cache is divided into segments that can be selectively removed based on workload needs, with each segment having its own dirty data relocation process, simplifying the overall management complexity
Solution Approach 2:
The cache management process implements self-service mechanisms where the system automatically identifies underutilized cache portions, determines which segments to remove, and executes the relocation of dirty data without external intervention. The process self-manages cache optimization by monitoring utilization patterns and autonomously adjusting cache configuration
3Reliability
If dirty data is immediately flushed on cache removal, then data safety improves, but performance degradation increases
Solution Approach 1:
The system performs preliminary identification and scheduling of dirty data relocation before actual cache removal occurs. By proactively scanning for dirty data blocks and creating relocation entries in advance, the system prepares the data transfer process ahead of time, avoiding performance degradation during the actual removal operation
Solution Approach 2:
The system maintains continuity of useful action by keeping the cache management process running in the background during normal operations. The dirty data identification and relocation scheduling continues asynchronously, so when cache removal is needed, the data has already been prepared for transfer, minimizing disruption to system performance
Data Source
AI summary
A method, computer program product, and computing system for freeing up cache space includes identifying a portion of cache space for removal from a cache system, thus defining a cache portion to be removed, and ceasing to promote the cache portion to be removed. Data that needs to be relocated within the cache portion to be removed is identified, thus identifying flushable data. The flushable data is relocated to a backend storage system associated with the cache portion to be removed.


