Primary Read Cache as Write Buffer in Synchronous Replication
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In synchronous data replication environments, a full write cache on the primary storage system leads to significant performance impacts due to the need for synchronous destaging to slower back-end storage drives, causing spikes in I/O response times.
Innovation Solution
The method involves temporarily using the primary read cache to store incoming write data when the write cache is full, mirroring this data to the secondary write cache, thereby avoiding performance degradation and ensuring data redundancy in case of a failure.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If write cache is used in synchronous data replication to improve write performance, then write speed is improved, but I/O response time spikes when write cache becomes full
Solution Approach 1:
The patent introduces read cache as an intermediary storage mechanism. When write cache becomes full, incoming write data is temporarily stored in read cache instead of blocking the write operation. This intermediary read cache allows the system to continue accepting writes without immediate performance degradation, resolving the contradiction between maintaining high write speed and avoiding I/O response time spikes.
Solution Approach 2:
The patent changes the state parameter of the read cache from its normal read-only function to a temporary write storage function. By repurposing read cache capacity to hold write data when write cache is full, the system dynamically adjusts storage parameters to maintain write performance while preventing I/O response time spikes.
2Reliability
If synchronous mirroring is implemented to ensure data reliability, then data consistency is improved, but performance degradation occurs during write operations
Solution Approach 1:
The patent performs preliminary action by pre-allocating and preparing read cache space before write cache becomes full. The system proactively uses read cache as a buffer for incoming write data, ensuring that synchronous mirroring can continue without blocking write operations. This preliminary preparation maintains data consistency through synchronous mirroring while preventing performance degradation.
3Speed
If write cache capacity is increased to reduce full-cache frequency, then write performance is improved, but system complexity and cost increase
Solution Approach 1:
The patent applies multi-functionality by enabling read cache to serve dual purposes: normal read operations and temporary write data storage. When write cache is full, read cache temporarily handles write data buffering, providing an additional functional capability without adding physical hardware. This universal use of existing components improves write performance while avoiding increased system complexity.
Data Source
AI summary
A method for improving I/O performance in synchronous data replication environments is disclosed. In one embodiment, such a method includes receiving write data into a primary write cache of a primary storage system. The method synchronously mirrors the write data from the primary write cache to a secondary write cache of a secondary storage system. The method is further configured to detect when the primary write cache is full. When the primary write cache is full, the method temporarily uses primary read cache of the primary storage system to store incoming write data. This incoming write data is mirrored from the primary read cache to the secondary write cache of the secondary storage system. A corresponding system and computer program product are also disclosed herein.


