Write Lock Advertisement Mechanism for Storage Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedata integrityVSAvoidmemory and processing resources
Core Design Contradiction:
ReliabilityVSQuantity of substance

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #15Dynamics

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

Engineering Contradiction:
Improvelocking functionality availabilityVSAvoidlock structure management
Core Design Contradiction:
Ease of operationVSDevice complexity

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

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

Engineering Contradiction:
Improvememory utilizationVSAvoidcomputing requirements
Core Design Contradiction:
Quantity of substanceVSDevice complexity

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improvememory overheadVSAvoidlock acquisition time
Core Design Contradiction:
Quantity of substanceVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7647443B1Implementing I/O locks in storage systems with reduced memory and performance costs
Publication Date: 2010.01.12 AMZETTA TECH LLC
  • US7647443B1 patent drawing
  • US7647443B1 patent drawing
  • US7647443B1 patent drawing

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.