Snapshot Data Structure Level Lock for Storage Consistency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In information processing systems, maintaining consistency between input/output (IO) accesses across multiple distributed processing modules is challenging due to the complexity of locking mechanisms, especially when using write caches, which can lead to competition for access to remapped logical addresses during snapshot operations.

Innovation Solution

Implementing a snapshot data structure level lock that locks the corresponding ILXAs of an entire snapshot data structure or multiple snapshot data structures during write and read operations, using a snapshot address (SLXA) defined as a combination of a snapshot data structure ID and an offset, to ensure data consistency and prevent competing accesses.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a locking mechanism is implemented at the logical address level to ensure consistency between IO accesses, then data consistency is improved, but device complexity and contention increase due to the need to lock individual logical addresses during snapshot operations

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

Solution Approach 1:

The patent segments the locking mechanism into two distinct levels: snapshot data structure level locks (using SLXAs) and logical address level locks (using LXAs). This segmentation allows the system to apply different locking granularities to different parts of the system, reducing overall complexity by preventing unnecessary contention at the logical address level while maintaining data consistency through snapshot-level coordination.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The snapshot data structure level lock acts as an intermediary mechanism that mediates between multiple IO accesses and the snapshot data structure. By introducing this intermediate locking layer, the system can coordinate access to snapshot data without requiring every IO operation to contend for locks on individual logical addresses, thereby reducing device complexity and contention while preserving data consistency.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If write caches are used to improve IO performance, then productivity is improved, but contention increases between IO threads and destager threads accessing remapped logical addresses during snapshot operations

Engineering Contradiction:
ImproveIO performanceVSAvoidcontention management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the locking scope to distinguish between snapshot data structure access and logical address access. By implementing locks at the snapshot data structure level (SLXAs) rather than at the logical address level (LXAs), the system allows write caches to continue operating at full speed for logical address remapping while only requiring coordination at the snapshot level, thereby reducing contention between IO threads and destager threads while maintaining high IO performance.

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If snapshot operations remap logical addresses to improve data management, then adaptability is improved, but consistency between IO accesses deteriorates due to competition for access to remapped addresses

Engineering Contradiction:
Improvelogical address remappingVSAvoidIO access consistency
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent implements preliminary locking of the snapshot data structure at the SLXA level before logical address remapping occurs. This preliminary action ensures that the snapshot data structure is protected from concurrent modifications during the remapping process, maintaining consistency between IO accesses while allowing the flexible logical address remapping operations to proceed without contention.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10747677B2Snapshot locking mechanism
Publication Date: 2020.08.18 EMC IP HLDG CO LLC
  • US10747677B2 patent drawing
  • US10747677B2 patent drawing
  • US10747677B2 patent drawing

AI summary

A storage system comprises a plurality of storage devices and an associated storage controller. The plurality of storage devices are configured to store a plurality of logical units (LUNs) and snapshot data structures associated with the plurality of LUNs. The storage controller is configured to determine a mapping of a logical address associated with a pending read or write operation to a snapshot address associated with a given snapshot data structure of the storage system that comprises a plurality of nodes generated during point-in-time snapshots taken based on at least one of the LUNs, lock at least a portion of the given snapshot data structure during the read or write operation based on the determined mapping, and release the lock on the at least a portion of the given snapshot data structure in response to a completion of the read or write operation.