Lockless Metadata Destaging via Flush Request Queues

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional methods for synchronizing destage and commit operations in multi-node storage systems require cache memory system locks, leading to contention with read operations, increased IO latency, and decreased system performance due to the risk of non-consistent metadata pages and overwrite issues.

Innovation Solution

A computer-implemented method that processes flush requests for metadata pages using a flush request lock queue, determining whether destage or commit requests are being processed, and waiting or proceeding accordingly, without requiring locks on the cache memory system, allowing destage operations to be synchronized without blocking read operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If cache memory system locks are obtained for destage and commit operations, then data consistency is ensured, but read operations are blocked and IO latency increases

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the synchronization mechanism by creating separate lock queues for different operation types (destage requests, commit requests, read requests) instead of using a single global cache lock. This allows different operation types to be processed concurrently without mutual blocking, resolving the contradiction between ensuring consistency and maintaining performance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary synchronization queue system that mediates between destage/commit operations and read operations. Instead of direct lock contention, operations are queued and processed in a controlled manner, allowing reads to proceed without being blocked by destage or commit operations while still ensuring proper synchronization.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If cache memory system locks are obtained for destage operations, then synchronization with commit operations is achieved, but IO latency increases

Engineering Contradiction:
Improveoperation synchronizationVSAvoidIO latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements preliminary action by pre-queuing destage and commit requests in separate lock queues before actual processing. This allows the system to prepare and organize operations in advance, reducing the critical section duration and minimizing the time that locks need to be held, thereby reducing IO latency while maintaining synchronization.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent applies dynamics by making the lock acquisition duration variable based on the operation type and queue state. Read operations can proceed dynamically without acquiring expensive locks, while destage and commit operations acquire locks only for the minimal time needed to update their respective queues, optimizing the balance between synchronization and latency.

Inventive Principle:
Principle #15Dynamics

3Productivity

If multiple nodes process destage and commit operations simultaneously, then system throughput is improved, but metadata page consistency is compromised

Engineering Contradiction:
Improvesystem throughputVSAvoidmetadata consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the multi-node operation coordination by creating node-specific lock queues and metadata structures. Each node maintains its own destage and commit request queues, allowing simultaneous processing across nodes while preventing conflicts through structured queue management and version tracking.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements feedback mechanisms through version numbers and metadata tracking that allow nodes to detect and resolve conflicts. When multiple nodes process operations simultaneously, the feedback from version comparisons ensures that only valid updates are applied, maintaining metadata consistency while allowing high parallel throughput.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11615028B2System and method for lockless destaging of metadata pages
Publication Date: 2023.03.28 EMC IP HLDG CO LLC
  • US11615028B2 patent drawing
  • US11615028B2 patent drawing
  • US11615028B2 patent drawing

AI summary

A method, computer program product, and computing system for receiving a flush request for a metadata page stored in a storage array of a multi-node storage system. The flush request may be queued on a flush request lock queue on at least one node of the multi-node storage system. One or more flush requests may be processed, via multiple nodes of the multi-node storage system, on the metadata page based upon, at least in part, the flush request lock queue.