Cache Slot Allocation for Remote Replication Lock Conflicts
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Cache slot locking conflicts between front-end adapters and remote adapters in data storage systems lead to unacceptable delays and performance issues during write operations, as cache slots are locked for remote replication, preventing concurrent processing of write requests.
Innovation Solution
Allocate a new cache slot for write operations when a slot is locked by a remote replication process, allowing the write operation to proceed concurrently while the data is copied and transmitted to a remote storage system, thereby reducing response times and avoiding cache slot locks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a cache slot is locked by a remote replication process, then data integrity for replication is ensured, but write operations experience unacceptable delays
Solution Approach 1:
The cache is segmented into multiple cache slots, allowing the system to allocate different slots for different operations. When a cache slot is locked for replication, write operations can allocate a different unlocked cache slot, thus avoiding the locked slot and eliminating delays while maintaining data integrity through proper slot management
Solution Approach 2:
The patent introduces a cache slot allocation mechanism that acts as an intermediary between write operations and locked cache slots. The system checks the lock status of cache slots and redirects write operations to available slots, mediating the conflict between replication requirements and write performance
2Reliability
If a cache slot is locked for remote replication, then replication accuracy is maintained, but concurrent write request processing is prevented
Solution Approach 1:
By dividing the cache into multiple independent slots, the system enables concurrent access patterns where replication processes can lock specific slots without blocking write operations that allocate to different slots. This segmentation allows both replication accuracy and concurrent write processing to proceed simultaneously
Solution Approach 2:
The cache slot allocation is dynamic rather than static. The system continuously monitors lock status and dynamically allocates unlocked slots to write operations, enabling flexible concurrent processing that adapts to the current replication state while maintaining replication accuracy
Data Source
AI summary
Cache slots on a storage system may be shared between entities processing write operations for logical storage unit (LSU) tracks and entities performing remote replication for write operations for the LSU tracks. If a new write operation is received on a first storage system (S1) for a track of an LSU (R1) when the cache slot mapped to the R1 track is locked by a process currently transmitting data of the cache slot to a second storage system (S2), a new cache slot may be allocated to the R1 track, the data of the original cache slot copied to the new cache slot, and the new write operation for the R1 track initiated on S1 using the new cache slot; while the data of the original cache slot is independently, and perhaps concurrently, transmitted to S2 to be replicated in R2, the LSU on S2 that is paired with R1.


