Storage Stack I/O Merging for Latency Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing storage stack systems experience increased latency and inefficiencies due to the separate processing and transmission of data block I/O operations and checksum I/O operations, leading to prolonged round trip times and reduced performance in data integrity validation.

Innovation Solution

The storage stack combines data block I/O operations and checksum I/O operations into a single I/O operation, allowing for efficient routing and processing through the storage stack, and accumulates multiple I/O operations to minimize round trip times by transmitting them in a single combined operation to the underlying storage device layer.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data block I/O operations and checksum I/O operations are processed separately, then data integrity validation can be performed, but latency increases and processing efficiency decreases

Engineering Contradiction:
Improvedata integrity validationVSAvoidlatency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent combines data block I/O operations and checksum I/O operations into a single unified I/O operation. The storage stack accumulates both data blocks and their corresponding checksums, then transmits them together in one operation to the underlying storage device layer, eliminating the need for separate round trips and reducing latency while maintaining data integrity validation.

Inventive Principle:
Principle #5Merging (Combining)

2Reliability

If separate I/O operations are used for data blocks and checksums, then data integrity can be validated, but I/O operations per second (IOPS) are reduced

Engineering Contradiction:
Improvedata integrityVSAvoidIOPS
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The storage stack merges multiple I/O operations (data blocks and checksums) into a single combined I/O operation that is transmitted to the underlying storage device layer in one go. This accumulation and combining approach increases the number of I/O operations per second by reducing the overhead of multiple separate operation cycles.

Inventive Principle:
Principle #5Merging (Combining)

3Loss of information

If multiple separate I/O operations are transmitted to the storage device layer, then data and checksums can be accessed, but round trip time is prolonged

Engineering Contradiction:
Improvedata and checksum accessVSAvoidround trip time
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The storage stack performs preliminary accumulation of data blocks and checksums into a single combined I/O operation before transmission to the underlying storage device layer. This preliminary consolidation eliminates multiple separate round trips, reducing the total time required while ensuring both data and checksums are properly accessed and retrieved.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12073117B2Accumulating I/O operations into a single combined I/O operation for implementation by an underlying storage device layer
Publication Date: 2024.08.27 NETAPP INC
  • US12073117B2 patent drawing
  • US12073117B2 patent drawing
  • US12073117B2 patent drawing

AI summary

Techniques are provided for combining data block and checksum block I/O into a single I/O operation. Many storage systems utilize checksums to verify the integrity of data blocks stored within storage devices managed by a storage stack. However, when a storage system reads a data block from a storage device, a corresponding checksum must also be read to verify integrity of the data in the data block. This results in increased latency because two read operations are being processed through the storage stack and are being executed upon the storage device. To reduce this latency and improve I/O operations per second, a single combined I/O operation corresponding to a contiguous range of blocks including the data block and the checksum block is processed through the storage stack instead of two separate I/O operations. Additionally, I/O operation may be combined into a single request that is executed upon the storage device.