Virtual Drain Mechanism for Storage I/O Consistency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional drain operations in data storage systems require synchronously waiting for pending writes to be processed before performing consistent operations, leading to increased write response times and backlog issues in busy production systems.

Innovation Solution

Implementing a virtual drain method where pending writes are identified and indicated as deferred, allowing immediate completion of consistent operations while actual processing occurs asynchronously in the background, using context information to reconstruct the environment for deferred writes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional drain operations are used to ensure consistent operations, then data consistency is improved, but write response time increases and system productivity deteriorates

Engineering Contradiction:
Improvedata consistencyVSAvoidwrite response time
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by pre-identifying and deferring pending writes before the consistent operation begins. The system identifies writes that are in-flight or pending at the time of arrest and marks them for deferred processing, so that the consistent operation can proceed immediately without waiting for these writes to complete. This preliminary identification and deferral mechanism allows the system to maintain data consistency while avoiding the performance penalty of synchronous waiting.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the write processing into two distinct phases: immediate processing for new writes during the consistent operation, and deferred processing for previously pending writes. By segmenting the write handling based on timing and state, the system can process different types of writes differently - allowing immediate acknowledgment for new writes while queuing deferred processing for pending writes, thus resolving the contradiction between consistency and performance.

Inventive Principle:
Principle #1Segmentation

2Reliability

If writes are arrested and drained synchronously before consistent operations, then operation consistency is improved, but system throughput deteriorates due to backlog

Engineering Contradiction:
Improveoperation consistencyVSAvoidsystem throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent introduces an intermediary mechanism - the deferred write queue - that mediates between the arrested write state and the consistent operation. Pending writes are placed in this intermediary queue with their context information preserved, allowing the consistent operation to proceed without them while they remain safely stored for later processing. This intermediary structure enables the system to maintain consistency guarantees while avoiding throughput degradation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent enables continuity of useful action by allowing the consistent operation to proceed immediately without interruption, while deferred writes continue to be processed in the background. Rather than halting all write processing during the consistent operation, the system maintains continuous processing capability for new writes and schedules deferred processing for pending writes, ensuring that useful work continues without interruption.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS7925796B1Methods, systems, and computer program products for performing an input/output (I/O) operation that includes a virtual drain
Publication Date: 2011.04.12 EMC IP HLDG CO LLC
  • US7925796B1 patent drawing
  • US7925796B1 patent drawing
  • US7925796B1 patent drawing

AI summary

Methods, systems, and computer program products for performing an input/output (I/O) operation that includes a virtual drain. According to one aspect, the subject matter described herein includes a method for performing an input/output operation that includes a virtual drain. The method includes receiving a request to perform a consistent operation involving a storage entity, and in response to receiving the request: arresting write requests to the storage entity; performing a virtual drain, where performing a virtual drain includes identifying, and indicating as deferred, pending writes to the storage entity; performing the consistent operation; releasing write requests to the storage entity; and processing each deferred write using information that is associated with the write and that describes the context in which the write request was accepted.