Extent-Based B-Tree Insertion for Snapshot Lock Contention

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional data storage systems face high lock contention and resource overhead due to individual locking and updating of B-tree data structures for each block copy from the production file system to the snapshot area, especially in multi-threaded environments.

Innovation Solution

Implementing a lock on the B-tree structure while updating with multiple mappings during the copying of contiguous data blocks, allowing for a single extent-based B-tree insertion operation that aggregates consecutive file system blocks into an extent, reducing the number of insertion operations and lock contention.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If individual locking and updating of B-tree sections is performed for each block copy, then data consistency is maintained, but lock contention and resource overhead increase significantly

Engineering Contradiction:
Improvedata consistencyVSAvoidlock management overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges multiple individual B-tree update operations into a single batched update operation. Instead of locking and updating the B-tree for each individual block copy, the system accumulates multiple mapping pairs and performs a single bulk insertion operation, thereby reducing lock contention and management overhead while maintaining data consistency.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent performs preliminary accumulation of mapping pairs before executing the B-tree update operation. Multiple block mappings are collected and prepared in advance, then inserted into the B-tree structure in a single operation, eliminating the need for repeated locking and unlocking cycles.

Inventive Principle:
Principle #10Preliminary action

2Stability of the object's composition

If individual B-tree insertion operations are performed for each block, then the B-tree structure remains well-organized, but insertion pressure and processing time increase

Engineering Contradiction:
ImproveB-tree organizationVSAvoidinsertion efficiency
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The patent combines multiple individual insertion operations into a single batched insertion operation. Multiple mapping pairs are inserted into the B-tree simultaneously in one operation, reducing the total number of insertion operations and improving efficiency while maintaining the structural integrity of the B-tree through proper bulk insertion algorithms.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent enables continuous accumulation of mapping pairs without interruption by individual insertion overhead. The system continuously collects block mappings in memory and performs periodic bulk insertions, maintaining high throughput and avoiding the stop-start nature of individual insertion operations.

Inventive Principle:
Principle #20Continuity of useful action

3Productivity

If multiple threads update the B-tree simultaneously with individual operations, then parallel processing capability is utilized, but lock contention increases and system resources are consumed

Engineering Contradiction:
Improveparallel processing capabilityVSAvoidlock waiting time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent merges multiple thread operations into coordinated batched updates. Multiple threads can accumulate their respective mapping pairs independently, then synchronize and perform bulk insertions in a coordinated manner, reducing the frequency of lock acquisitions and minimizing lock waiting time while preserving parallel processing benefits.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS8880488B1Efficient extent-based B-tree insertion
Publication Date: 2014.11.04 EMC IP HLDG CO LLC
  • US8880488B1 patent drawing
  • US8880488B1 patent drawing
  • US8880488B1 patent drawing

AI summary

A technique manages access to a B-tree structure within a data storage apparatus. The B-tree structure maintains mappings of data blocks of a file system to data blocks of a snapshot storage area. The technique involves imposing a lock on the B-tree structure in response to a snapshot operation which copies a contiguous range of file system data blocks to a set of snapshot data blocks to save primary data of the file system as snapshot data. The technique further involves inserting multiple objects into the B-tree structure while the lock is imposed, each object including a key value which (i) identifies a respective file system data block of the contiguous range and (ii) operates as a search key to facilitate searching of nodes of the B-tree structure. The technique further involves releasing the lock imposed on the B-tree structure after the objects have been inserted into the B-tree structure.