Cache Management via Multi-Space Segmentation for Parallel I/O
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional cache management systems face low I/O request concurrency due to locking mechanisms that prevent parallel execution of write requests for the same cache logic unit, leading to inefficiencies in data storage systems.
Innovation Solution
Implement a method where multiple cache spaces are associated with a single cache logic unit, allowing write requests to be executed in parallel by switching to an unlocked cache space if the primary space is locked, and enabling data merging and flushing operations to improve concurrency and response times.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a locking mechanism is used to ensure data consistency in cache, then data reliability is improved, but I/O request concurrency deteriorates
Solution Approach 1:
The cache is divided into multiple cache spaces (first cache space, second cache space, etc.) associated with the same cache logic unit. When the first cache space is locked, write requests can be redirected to the second cache space, which may be unlocked. This segmentation allows parallel processing of write requests while maintaining data consistency through the cache logic unit's coordination of multiple cache spaces.
2Reliability
If a cache logic unit is locked during write operations, then data consistency is improved, but response time deteriorates
Solution Approach 1:
The cache logic unit acts as an intermediary that manages multiple cache spaces. It coordinates write requests across different cache spaces without requiring the entire cache logic unit to be locked. The cache logic unit directs requests to appropriate cache spaces and ensures data consistency, reducing waiting time while maintaining reliability.
3Productivity
If multiple cache spaces are used to improve concurrency, then I/O request parallelism is improved, but device complexity increases
Solution Approach 1:
Multiple cache spaces are designed with identical structures and functions, all associated with the same cache logic unit. This universality allows the cache logic unit to manage multiple cache spaces using the same coordination mechanisms, reducing the complexity increase that would result from having different types of cache spaces. The system can achieve parallelism while keeping management logic relatively simple through this multi-functional design.
Data Source
AI summary
Embodiments of the present disclosure relate to a method and a device for cache management. The method includes: in response to receiving a write request for a cache logic unit, determining whether a first cache space of a plurality of cache spaces associated with the cache logic unit is locked; in response to the first cache space being locked, obtaining a second cache space from the plurality of cache spaces, the second cache space being different from the first cache space and being in an unlocked state; and performing, in the second cache space, the write request for the cache logic unit.


