Storage Array Write Locking via Metadata Manager
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional storage array side write locking methods are unreliable due to the need for constant communication among servers, leading to write contentions and scalability issues, as they are vulnerable to malfunctions and bottlenecks, especially in large-scale shared storage systems.
Innovation Solution
Implementing storage array side write locking, where the storage array manages write locks locally, using a write lock table to track grain availability and client access, allowing dynamic and selective granting of write access to prevent contentions and stale locks without relying on server communication.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If distributed server-side write locking is implemented, then write access control is provided, but system reliability deteriorates due to communication vulnerabilities and server malfunctions
Solution Approach 1:
The patent introduces a dedicated metadata manager server as an intermediary component that centralizes write locking management. This mediator handles all lock/unlock operations between clients and storage arrays, eliminating the need for direct peer-to-peer communication among servers. The metadata manager maintains a centralized lock table that tracks write lock states, providing a single point of control that improves reliability by removing communication vulnerabilities between multiple servers while managing the complexity of write locking operations.
2Reliability
If centralized metadata manager is used, then write locking reliability is improved, but system scalability deteriorates due to the single point of failure
Solution Approach 1:
The patent segments the centralized metadata manager into multiple redundant instances that can operate in a failover configuration. Instead of a single metadata manager server, the system can deploy multiple metadata manager nodes that maintain synchronized lock tables. When one metadata manager fails, another can take over, providing both the centralized control needed for reliability and the redundancy needed for scalability. This segmentation allows the system to maintain write locking reliability while improving adaptability to different system scales and failure scenarios.
3Reliability
If server-side write locking is implemented, then write access control is provided, but performance deteriorates due to constant server communication overhead
Solution Approach 1:
The patent implements preliminary action by having the metadata manager pre-establish and maintain a centralized lock table that tracks the write lock state of all data grains. Before any write operation occurs, the system queries this pre-maintained lock table to determine lock status, rather than engaging in complex real-time negotiations between servers. The metadata manager also proactively manages lock release by monitoring client operations and automatically releasing locks when clients complete their work, eliminating the need for clients to explicitly signal lock releases and reducing communication overhead.
4Reliability
If distributed write locking among multiple servers is used, then system availability is maintained, but write contention increases due to communication errors and stale locks
Solution Approach 1:
The patent implements feedback mechanisms where the metadata manager continuously monitors the state of write locks and client operations. The system uses feedback loops to detect stale locks by tracking client activity and lock duration, and automatically resolves write contentions by coordinating with clients to release locks when they are no longer needed. The metadata manager provides real-time feedback to clients about lock status before write operations, allowing clients to adjust their operations to avoid contentions. This feedback-driven approach maintains system availability while significantly reducing write contentions compared to distributed server-side locking without such monitoring.
Data Source
AI summary
Systems and methods are described herein that provide storage array side write locking. In embodiments, data is on storage arrays that are shared by a plurality of clients, and the storage array prevents write contentions on the shared data by employing a storage array side write locking strategy that uses a write lock table to determine whether requested data is currently being serviced by one of the plurality of clients. For example, upon receiving a request for data, the storage array checks a lock table to determine whether any of the requested data is currently write locked (which indications current use of the data). If the grains are not write locked, then the data request may be allowed. If the grains are write locked, then the data request may be denied. In embodiments, the storage array takes steps to determine whether write locks have become stale and should be removed.


