Distributed IO Sequencer for Multi-Site Storage Consistency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing multi-site storage systems require virtual block storage appliances and cache coherence protocols, which are inefficient and costly, and lack effective failure handling mechanisms for maintaining IO operations across geographically dispersed sites.
Innovation Solution
Implementing distributed IO sequencing functionality across storage nodes, where a designated volume owner manages locks and requests for a distributed virtual volume, ensuring consistency and allowing seamless failure recovery without draining IO operations, thus eliminating the need for virtual block storage appliances and cache coherence protocols.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If virtual block storage appliances and cache coherence protocols are implemented, then consistency across geographically-dispersed sites is achieved, but system complexity and cost increase significantly
Solution Approach 1:
The patent extracts the sequencing functionality from a centralized virtual block storage appliance and distributes it to individual storage nodes. Each storage node runs its own sequencer that independently handles IO operations, eliminating the need for complex centralized coordination while maintaining consistency through distributed sequencing numbers.
Solution Approach 2:
The system segments the monolithic cache coherence protocol into node-local sequencing operations. Each storage node maintains its own sequence state and makes independent sequencing decisions, dividing the complex global consistency problem into simpler local decisions that are coordinated through the distributed sequencing number mechanism.
2Reliability
If centralized IO sequencing is used, then consistency is maintained, but IO performance and latency are degraded due to coordination overhead
Solution Approach 1:
The centralized sequencing function is segmented and distributed to individual storage nodes. Each node independently generates and manages sequencing numbers for its local IO operations, eliminating the need for centralized coordination and reducing IO latency while maintaining consistency through the distributed sequencing protocol.
Solution Approach 2:
Each storage node serves its own sequencing needs autonomously without requiring external coordination. The sequencer at each node independently assigns sequencing numbers to IO operations, enabling self-service operation that improves performance by eliminating inter-node coordination overhead for sequencing decisions.
3Adaptability or versatility
If active-active data access is implemented in replicated file systems, then availability and access flexibility improve, but the need for virtual block storage appliances and cache coherence protocols increases complexity
Solution Approach 1:
The patent extracts the complex cache coherence protocol requirements from active-active replicated file systems and replaces them with a simpler distributed sequencing mechanism. Each node independently sequences its IO operations using distributed sequencing numbers, eliminating the need for virtual block storage appliances while maintaining active-active access flexibility.
Data Source
AI summary
An apparatus in one embodiment comprises a storage system including a plurality of storage nodes each associated with one or more storage devices. The storage system is configured to provide at least one virtual volume distributed over the storage nodes for utilization by a plurality of host devices. The storage nodes comprise respective input-output sequencers for handling input-output operations directed to the distributed virtual volume by the host devices. The input-output sequencers of the respective storage nodes are configured to interact with one another to collectively form a distributed input-output sequencer that ensures consistency across the storage nodes for the distributed virtual volume when accessed by different ones of the host devices. The storage system may comprise a multi-site storage system, with the plurality of storage nodes comprising at least a first storage node cluster at a first site and a second storage node cluster at a second site.


