Selective Locking for Critical Sub-Operations in Storage Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing storage systems face interference and performance degradation when multiple instances perform operations simultaneously, leading to failed operations and invalid data states due to insufficient locking techniques that do not account for host device and storage system resources.

Innovation Solution

A method that identifies critical sub-operations in storage system operations, applies specific locks (such as snap locks, bus locks, and filespec locks) to provide exclusive access to one instance while denying access to others, and releases locks when no longer needed, allowing concurrent execution of non-critical sub-operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If locking techniques are applied to prevent interference between simultaneous operations, then data integrity is improved, but operation latency and performance degradation occur

Engineering Contradiction:
Improvedata integrityVSAvoidoperation latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments operations into critical and non-critical sub-operations. Critical sub-operations (e.g., snapshot creation, metadata updates) acquire locks to ensure data integrity, while non-critical sub-operations (e.g., data transfer, I/O operations) execute concurrently without locks, reducing overall latency and avoiding performance degradation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies locking selectively only to specific critical sub-operations rather than entire operations. This localized approach ensures data integrity where needed while allowing other parts of the system to operate concurrently, thereby minimizing the impact on overall system performance and reducing operation latency.

Inventive Principle:
Principle #3Local quality

2Reliability

If operations are executed serially to ensure data integrity, then reliability is improved, but productivity and operational efficiency deteriorate

Engineering Contradiction:
Improveoperation success rateVSAvoidoperational efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent divides operations into critical and non-critical sub-operations. Critical sub-operations execute serially with lock protection to ensure reliability, while non-critical sub-operations execute in parallel without locks, maintaining high productivity and operational efficiency without compromising data integrity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies locking only partially to critical sub-operations rather than all operations. This selective locking approach provides sufficient protection for data integrity while allowing the majority of non-critical operations to proceed concurrently, thereby maintaining high operational efficiency and productivity.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If locks are applied to all sub-operations to prevent interference, then data integrity is improved, but device complexity and system overhead increase

Engineering Contradiction:
Improvedata integrityVSAvoidlocking mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the locking mechanism to apply locks only to critical sub-operations. This reduces the complexity of the locking mechanism compared to locking all sub-operations, while still providing adequate data integrity protection where it is most needed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements local quality by applying different locking strategies to different sub-operations. Critical sub-operations receive lock protection, while non-critical sub-operations do not, thereby reducing overall system complexity and overhead while maintaining data integrity.

Inventive Principle:
Principle #3Local quality

4Productivity

If concurrent operations are allowed to improve productivity, then operational efficiency is improved, but harmful interference between operations occurs

Engineering Contradiction:
Improveoperational efficiencyVSAvoidoperation interference
Core Design Contradiction:
ProductivityVSObject-generated harmful factors

Solution Approach 1:

The patent segments operations into critical and non-critical sub-operations. Non-critical sub-operations are allowed to execute concurrently to improve productivity, while critical sub-operations acquire locks to prevent harmful interference, thereby maintaining operational efficiency without compromising data integrity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies protective locking locally only to critical sub-operations where interference would be harmful, while allowing non-critical sub-operations to proceed concurrently. This selective approach eliminates harmful interference where it matters most while preserving high operational efficiency.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS8850126B2Exclusive access during a critical sub-operation to enable simultaneous operations
Publication Date: 2014.09.30 NETAPP INC
  • US8850126B2 patent drawing
  • US8850126B2 patent drawing
  • US8850126B2 patent drawing

AI summary

A method, apparatus, and system of exclusive access during a critical sub-operation to enable simultaneous operations are disclosed. In one embodiment, a method of a host device includes identifying a critical sub-operation of an operation associated with a storage system, applying a lock associated with the critical sub-operation based on a type of the sub-operation, providing exclusive access of the critical sub-operation to a first instance requiring the critical sub-operation, denying other instances access to the critical sub-operation during an interval comprising a period when the first instance executes the critical sub-operation, and releasing the lock when the critical sub-operation is no longer required by the first instance. The first instance and the other instances may originate on different host devices.