Circular Mirroring of Flexible Volumes Preventing Deadlocks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In network storage systems, bi-directional or circular mirroring of flexible volumes creates a deadlock situation because each filer's cache flush depends on the other filer's completion, leading to synchronization issues and potential data loss in case of a failure.
Innovation Solution
A source filer maintains multiple log files on the destination filer, equal to or exceeding the number of cache flush operations, allowing for pre-creation or dynamic creation and reuse of log files to avoid dependency on the destination filer's cache flush completion.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If bi-directional or circular mirroring is implemented, then data redundancy and availability are improved, but deadlock situations occur due to mutual dependency on cache flush completion
Solution Approach 1:
The patent applies preliminary action by pre-allocating multiple log files on the destination filer before mirroring operations begin. These log files are prepared in advance to receive cache flush data, eliminating the need for the source filer to wait for destination filer cache flush completion. This breaks the circular dependency that causes deadlock while maintaining data redundancy and availability.
2Stability of the object's composition
If cache flush dependency is maintained for synchronization, then data consistency is ensured, but system performance deteriorates due to waiting and potential deadlocks
Solution Approach 1:
The patent segments the cache flush operation into multiple independent log files on the destination filer. Instead of requiring a single synchronized flush between source and destination, the system divides the logging function across multiple files, allowing the source filer to write to pre-allocated log files without waiting for destination filer cache flush completion. This maintains data consistency through the log file structure while dramatically improving mirroring operation speed by eliminating the performance-deteriorating wait condition.
3Reliability
If multiple log files are pre-allocated on destination filer, then deadlock is prevented, but storage space consumption increases
Solution Approach 1:
The patent implements discarding and recovering by managing multiple log files on the destination filer in a rotational manner. As log files are written and then archived or closed, the storage space they occupied is recovered and made available for reuse. This allows the system to maintain multiple log files for deadlock prevention while controlling overall storage space consumption through the systematic reuse of log file space after its purpose is fulfilled.
Data Source
Figure 1
Figure 2
Figure 3A
AI summary
A method and system mirror flexible volumes in a circular or bi-directional configuration, without creating a deadlock. A source filer maintains a number of log files on a destination filer, where the number of log files is greater than or equal to the number of cache flush operations the primary filer performs between cache flush operations on the destination filer. The source filer can create the log files in advance. Alternatively or in addition, the source filer can create the log files as needed, i.e., the source filer can create a log file when the source filer flushes its cache. Once the destination filer flushes its cache, the log files created prior to the destination filer cache flush can be deallocated or reused.