In-band Extent Locking for Shared Non-Volatile Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Previous multi-node data storage systems experience significant latency due to the large number of messages exchanged for page locking, which degrades the performance of data storage services and hosts issuing I/O requests.

Innovation Solution

The technology implements in-band locking of extents containing multiple pages of shared non-volatile data storage, where a node can access multiple pages within an extent after obtaining an extent lock without requiring additional lock request and grant messages, reducing inter-node communication and latency by piggy-backing extent locking information onto page lock messages.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If individual page locks are used to prevent data corruption when multiple nodes access shared non-volatile data storage, then data consistency is maintained, but the number of messages exchanged between nodes increases significantly, introducing latency to I/O request processing

Engineering Contradiction:
Improvedata consistencyVSAvoidI/O request processing latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent combines extent lock information with page lock messages, allowing a single message to convey both the page lock request and the extent lock status. This merging eliminates the need for separate extent lock communication, reducing the total number of messages exchanged between nodes while maintaining data consistency through coordinated locking.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The lock request message is designed to serve multiple functions: it requests a page lock, conveys extent lock status, and enables extent-based locking coordination. By making the message multi-functional, the system reduces messaging overhead without sacrificing the reliability of data protection mechanisms.

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

2Loss of time

If extent locking is implemented to reduce messaging overhead, then I/O request processing latency is reduced, but the complexity of lock coordination between nodes increases

Engineering Contradiction:
ImproveI/O request processing latencyVSAvoidlock coordination complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The system performs preliminary extent lock coordination by embedding extent lock information in the lock request message itself. This preliminary action allows nodes to determine extent lock status before processing the page lock request, simplifying the coordination logic and reducing the need for additional coordination messages while lowering latency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The lock request message acts as an intermediary that carries extent lock information between nodes. This intermediary mechanism simplifies the coordination complexity by consolidating multiple pieces of locking information into a single communication vehicle, making the overall lock coordination process more manageable.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If multiple lock request messages are exchanged for each page access, then fine-grained locking control is achieved, but the quantity of inter-node communications increases, degrading system performance

Engineering Contradiction:
Improvelocking control precisionVSAvoidinter-node communication volume
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The patent merges extent lock communication with page lock communication into a single message exchange. This combining maintains the precision of fine-grained locking control by still allowing node-level page locking while eliminating redundant extent lock messages, thereby reducing the total volume of inter-node communications without sacrificing locking control precision.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS11366594B2In-band extent locking
Publication Date: 2022.06.21 EMC IP HLDG CO LLC
  • US11366594B2 patent drawing
  • US11366594B2 patent drawing
  • US11366594B2 patent drawing

AI summary

Techniques for in-band locking of extents containing multiple pages of shared non-volatile data storage are disclosed in which inter-node lock request messages indicate both an individual page for which a lock is requested and the multi-page extent that contains that page. A page lock or an extent lock is granted to the requesting node based on the time since the last access to the extent by the node to which the request was sent. A generation number may be maintained in each node and stored in the per-extent lock table entries and per-page lock table entries such that pages accessed by a node within an extent while the extent is in extent-locked access mode may subsequently be accessed by the node during a page-locked access mode for the extent occurring after the extent-locked access mode ends based on page locks created by the node during the extent-locked access mode.