Active-Active Locking with Sticking Affinity for Storage Objects

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed storage systems, existing methods face inefficiencies in handling Input/Output (I/O) requests due to the need for shared locks, which generate significant inter-processor network traffic and CPU usage, and lack of efficient ownership management for storage objects across multiple storage processors.

Innovation Solution

The method involves setting locks independently or in cooperation with the current owner of a storage object, using an ownership attribute to determine lock ownership and optimizing I/O requests by maintaining local ownership and reducing reliance on shared locks, thereby enhancing speed and reducing network traffic.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If shared locks are used for I/O requests in distributed storage systems, then data consistency is maintained, but inter-processor network traffic and CPU usage increase significantly

Engineering Contradiction:
Improvedata consistencyVSAvoidnetwork traffic and CPU usage
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent segments the locking mechanism by introducing ownership-based locks that divide the storage system into owner-managed segments. Each storage processor becomes the owner of specific storage objects and can manage locks locally without requiring coordination with other processors, thereby reducing network traffic while maintaining data consistency through the ownership hierarchy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an ownership attribute as an intermediary layer between the I/O requests and the actual data storage. This ownership attribute acts as a mediator that determines which storage processor can independently set locks, eliminating the need for continuous inter-processor communication while ensuring that only the appropriate owner can modify the data, thus maintaining consistency without the overhead of shared locking protocols.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If independent locking is implemented at each storage processor, then I/O request processing speed improves, but system-wide lock coordination becomes difficult

Engineering Contradiction:
ImproveI/O request processing speedVSAvoidlock coordination complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent implements a universal ownership attribute that can be applied to any storage object across the distributed system. This single ownership mechanism serves multiple functions: it identifies the owner storage processor, determines lock setting authority, and coordinates system-wide access control. By making the ownership attribute multi-functional, the system achieves fast independent locking at each processor while maintaining simple system-wide coordination through the universal ownership hierarchy.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Reliability

If traditional shared locking protocols are used, then inter-processor communication is maintained, but I/O request servicing efficiency decreases

Engineering Contradiction:
Improveinter-processor communicationVSAvoidI/O request servicing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies local quality by enabling storage processors to set locks independently based on their local ownership status. When a storage processor is the owner of a storage object, it can set locks locally without communicating with other processors. This local decision-making capability maintains I/O servicing efficiency while inter-processor communication is preserved for ownership transfer and non-owner lock requests, creating a hybrid approach that optimizes both efficiency and communication.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11249656B2Performance optimization for active-active locking using sticking affinity for storage objects
Publication Date: 2022.02.15 EMC IP HLDG CO LLC
  • US11249656B2 patent drawing
  • US11249656B2 patent drawing
  • US11249656B2 patent drawing

AI summary

A method for use in a storage system, the method comprising: receiving, at a first storage processor in the plurality, an Input/Output (I/O) request that is associated with a storage object; identifying an entity associated with the I/O request and the storage object; detecting, by the first storage processor, whether the first storage processor is a current owner of the storage object; when the first storage processor is the current owner of the storage object, setting a lock on the entity, the lock being set by the first storage processor, the lock being set independently of any other storage processors in the storage system; when the first storage processor is not the current owner of the storage object, setting the lock in cooperation with the current owner of the storage object; and executing the I/O request based on the entity after the lock has been set.