Two-Cache Track Management for Storage Latency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current cache management systems in storage systems face challenges in optimizing both temporal and spatial locality, leading to inefficiencies in read and write operations, particularly in managing tracks between faster access caches and slower access storage devices.
Innovation Solution
A computer program product and method that employs a two-cache system where the first cache maintains modified and unmodified tracks, demotes unmodified tracks to the second cache, and groups modified tracks by physical location for efficient destaging to storage, optimizing both temporal and spatial locality through LRU lists and spatial indexing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If LRU cache technique is used to optimize temporal locality, then read latency is reduced, but spatial locality is not exploited leading to increased destage operations
Solution Approach 1:
The patent segments the cache into two separate caches: a first cache optimized for temporal locality using LRU technique, and a second cache optimized for spatial locality using sequential ordering. This segmentation allows each cache to specialize in one aspect of locality optimization without compromising the other.
Solution Approach 2:
The second cache acts as an intermediary between the first cache and the storage device. It receives destaged tracks from the first cache, reorders them according to spatial locality, and then writes them sequentially to storage, thereby reducing the number of destage operations while maintaining temporal locality benefits.
2Reliability
If tracks are destaged individually from cache to storage, then temporal locality is maintained, but spatial locality is lost increasing write mechanism movement
Solution Approach 1:
The patent adds a spatial dimension to the cache organization by introducing a second cache that orders tracks sequentially according to their physical location on the storage medium. This dimensional addition transforms the cache structure from a single LRU list to a two-tier system where the second level optimizes for spatial proximity.
Solution Approach 2:
The system performs preliminary ordering of tracks in the second cache before they are written to storage. By pre-organizing tracks in sequential order based on their storage locations, the system prepares the data in advance to minimize write mechanism movement during the actual destage operation.
3Device complexity
If a single cache is used for both reads and writes, then device complexity is reduced, but optimization of both temporal and spatial locality cannot be achieved
Solution Approach 1:
The patent divides the caching system into two distinct caches with different organizational structures: the first cache uses LRU ordering for temporal locality optimization, while the second cache uses sequential ordering for spatial locality optimization. This segmentation enables dual optimization without requiring a single complex cache structure.
Solution Approach 2:
The two-cache system provides multi-functionality by handling both temporal and spatial locality requirements simultaneously. The first cache handles temporal locality for read operations, while the second cache handles spatial locality for write operations, making the overall system versatile in optimizing different aspects of cache performance.
Data Source
AI summary
Provided a computer program product, system, and method for cache management of tracks in a first cache and a second cache for a storage. The first cache maintains modified and unmodified tracks in the storage subject to Input/Output (I/O) requests. Modified and unmodified tracks are demoted from the first cache. The modified and the unmodified tracks demoted from the first cache are promoted to the second cache. The unmodified tracks demoted from the second cache are discarded. The modified tracks in the second cache that are at proximate physical locations on the storage device are grouped and the grouped modified tracks are destaged from the second cache to the storage device.


