Secondary Cache Pre-population for Failover Read Hit Rate
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current data storage systems face performance degradation during failover scenarios due to an initial reduced read hit rate when a secondary cache is empty or not populated with the necessary data, leading to increased read misses and decreased application performance.
Innovation Solution
Implement a method to pre-populate a secondary cache by transferring information about data stored in a primary cache, including physical device locations and timestamps, using a caching profile-based approach to ensure data availability and reduce read misses upon failover.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a secondary cache is used for failover, then system availability is improved, but initial read hit rate deteriorates when the cache is empty
Solution Approach 1:
The patent pre-populates the secondary cache with data from the primary cache before a failover event occurs. This preliminary action ensures that when failover happens, the secondary cache already contains relevant data, maintaining high read hit rates and avoiding the performance degradation that would otherwise occur with an empty cache.
Solution Approach 2:
The patent creates a copy of the primary cache contents and transfers it to the secondary cache. By copying the cache data structure, metadata, and physical device location information, the system ensures the secondary cache has identical or equivalent data to the primary cache, enabling seamless failover without loss of read performance.
2Productivity
If cache data is transferred from primary to secondary system, then read hit rate is maintained, but data transfer time increases
Solution Approach 1:
The cache data transfer is performed as a preliminary action during normal operation or in advance of potential failover events. By transferring data before it is needed, the system avoids time-critical data movement during actual failover, thus maintaining high read hit rates without incurring time penalties during emergency scenarios.
Solution Approach 2:
The patent implements periodic or scheduled cache synchronization between primary and secondary systems. Instead of continuous real-time copying, the system performs data transfers at intervals or based on change detection, reducing the overall time burden while still ensuring the secondary cache has current data when needed.
3Measurement precision
If caching profiles are created and maintained, then cache pre-population accuracy is improved, but system complexity increases
Solution Approach 1:
The caching profile system operates autonomously, automatically tracking which data portions are stored in cache, their locations, and their usage patterns. The system self-generates and maintains the profile information without requiring manual intervention, thus improving pre-population accuracy while minimizing the operational complexity burden on system administrators.
Solution Approach 2:
The patent implements feedback mechanisms where the system continuously monitors cache usage patterns and updates caching profiles accordingly. This feedback loop ensures that profiles accurately reflect actual data access patterns, improving the precision of cache pre-population decisions while using automated algorithms to manage the complexity of profile maintenance.
Data Source
AI summary
Described are techniques for caching. At a first point in time, a first set of data portions currently stored in a first cache of a first data storage system is determined. Each data portion of the first set is located on a first device of the first data storage system. Sent to a second data storage system is first information including information identifying a storage location on the first device for each data portion of the first set. The second data storage system includes a second device that is maintained as a mirror of the first device. The storage location for each data portion of the first set is used to identify a second storage location of the second device corresponding to the storage location. The first information is used to populate a second cache of the second data storage system.


