Write Lock Advertisement Mechanism for Storage Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional locking mechanisms in virtualized storage systems require maintaining lock structures for every potential entity, leading to substantial memory and processing demands, which does not scale well and increases complexity.
Innovation Solution
Implementing a mechanism where write locks are advertised before needed, allowing only tracking of outstanding I/O operations within a specified time window, reducing the need for constant lock structure maintenance and enabling dynamic creation of lock structures on demand.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional locking mechanisms maintain lock structures for every potential entity, then data integrity is preserved through proper locking, but memory and processing demands increase substantially
Solution Approach 1:
The patent applies preliminary action by requiring write lock requests to be advertised in advance before the actual write operation occurs. This advertisement phase allows the system to proactively identify which entities will need locking, enabling selective creation of lock structures only for those entities rather than maintaining structures for all potential entities. The advance advertisement period creates a window where the system can prepare locking resources efficiently.
Solution Approach 2:
The patent implements dynamics by making lock structure creation dynamic and on-demand rather than static and predetermined. Lock structures are created temporarily only for entities that have advertised write lock requests during the advertisement phase, and these structures are automatically cleaned up after the write operation completes. This dynamic approach adapts the locking infrastructure to actual workload patterns, reducing memory consumption when write operations are infrequent.
2Ease of operation
If lock structures are maintained for every storage entity at all times, then locking functionality is always available, but system complexity and memory usage increase
Solution Approach 1:
By requiring write lock advertisements in advance, the system can proactively set up lock structures before they are needed, rather than maintaining them continuously. This preliminary action ensures locking functionality is available when needed while avoiding the complexity of managing persistent lock structures for all entities.
Solution Approach 2:
The patent employs disposable lock structures that are created temporarily for the duration of a write operation and then discarded. Instead of maintaining expensive, long-lived lock structures for every potential entity, the system creates inexpensive, short-lived lock structures only when write operations are advertised, significantly reducing overall system complexity.
3Quantity of substance
If hash queues are used to reduce memory for lock structures, then memory utilization decreases, but computing requirements and system complexity increase
Solution Approach 1:
The advertisement mechanism serves as a preliminary action that identifies which entities will require locking before the actual operations occur. This advance notice allows the system to create lock structures selectively based on actual needs rather than using complex hash queues to manage potential entities, reducing computing requirements while maintaining low memory utilization.
4Quantity of substance
If lock structures are created on demand during write operations, then memory overhead is reduced, but lock acquisition time may increase due to dynamic creation
Solution Approach 1:
By requiring write lock advertisements in advance of the actual write operation, the system performs the lock structure creation during the advertisement phase rather than at the moment of lock acquisition. This preliminary action separates the structure creation from the critical lock acquisition path, ensuring that when the actual write operation needs the lock, the structure is already in place and lock acquisition can proceed immediately without dynamic creation delays.
Data Source
AI summary
Technologies are described for implementing locks to control I/O operations in a storage system. The lock implementations can have reduced resource requirements for memory and processing. Through the utilization of the technologies and concepts presented herein, an I/O process preparing to acquire a write lock can advertise its need for the lock for a pre-determined time before the lock is granted. The time period for advertisement can be specified so that all I/O operations that were initiated before the advertisement are guaranteed to have completed by the time the advertisement period is over. As such, a lock controller may only need to track outstanding I/Os that begin once the advertisement starts. This can reduce the typical requirement to maintain and process a lock structure for every unit of storage in the system at all times.


