Storage Controller Journal Recovery via Contention Resolution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional storage systems face challenges in coordinated recovery across multiple journals of different types, particularly during clean-up operations, where failures can lead to logical address range lock contentions that prevent proper recovery.
Innovation Solution
Implementing a contention resolution algorithm within a distributed storage controller to resolve logical address range lock contentions between different entries of multiple journals, such as atomic transaction write journals and synchronous replication write journals, during clean-up operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If clean-up operations are performed on multiple journals during normal operation, then journal maintenance and entry swapping between journals can be accomplished, but logical address range lock contentions occur when failures happen during these operations, preventing proper journal recovery
Solution Approach 1:
The system performs preliminary actions by acquiring locks on logical address ranges before executing clean-up operations or entry swaps between journals. This preliminary locking prevents concurrent modifications that could cause contentions during failure scenarios, ensuring that recovery operations can proceed without lock conflicts.
Solution Approach 2:
The patent introduces an intermediary mechanism in the form of a coordination layer that manages lock acquisition and release between multiple journals. This intermediary coordination ensures that when one journal is being cleaned up or entries are being swapped, conflicting operations on overlapping logical address ranges are properly serialized, preventing deadlocks and contentions during recovery.
2Adaptability or versatility
If multiple journals of different types are used for different IO requests, then comprehensive IO request tracking and recovery capability is achieved, but coordination complexity increases during clean-up operations and failure recovery
Solution Approach 1:
The patent implements a universal lock management mechanism that works across all types of journals (write journals, read journals, atomic transaction journals, synchronous replication journals). This universal approach provides a common framework for handling lock contentions regardless of journal type, reducing the complexity that would otherwise arise from implementing separate coordination logic for each journal type.
Solution Approach 2:
The system segments the journal management complexity by dividing logical address spaces into distinct ranges and assigning locks to specific segments. This segmentation allows independent management of different journal types operating on different logical address ranges, reducing coordination overhead while maintaining comprehensive tracking capability across all journal types.
3Productivity
If entry swapping operations are performed between journals to optimize storage, then journal efficiency and space utilization improve, but lock contention risks increase during subsequent clean-up operations
Solution Approach 1:
Before performing entry swapping operations between journals, the system acquires preliminary locks on the logical address ranges involved in the swap. This preliminary action ensures that subsequent clean-up operations on either source or destination journals will not encounter lock contentions, as the locks are already in place to coordinate access during the swap and subsequent cleanup phases.
Data Source
AI summary
An apparatus includes at least one processing device comprising a processor coupled to a memory, with the processing device being configured to maintain at least first and second journals for respective first and second different types of input-output requests, to move one or more entries between the first journal and the second journal under one or more specified conditions, to perform a clean-up operation for at least one of the first and second journals in conjunction with the moving of the one or more entries, and responsive to a failure occurring during the clean-up operation, to execute a contention resolution algorithm to resolve logical address range lock contentions between different entries of the first and second journals. The processing device illustratively comprises a storage controller of a storage system. The storage system may be, for example, a source storage system configured to carry out a synchronous replication process with a target storage system.


