I/O Splitter for Disaggregated Storage Latency Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Disaggregated storage environments using NVMe SSDs experience increased latency due to network and software processing overhead, particularly in NVMe-oF based storage fabrics, which affects the efficiency of read and write requests.

Innovation Solution

The technology splits large I/O requests into smaller chunks and dynamically adjusts the granularity of work requests to optimize queue sizes and polling rates, reducing latency by utilizing NVMe SSD parallelism and minimizing data storage in memory before forwarding, thereby enhancing processing efficiency across network fabrics.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If data is stored in memory before forwarding in disaggregated storage environments, then data transfer can be performed, but latency increases due to network and software processing overhead

Engineering Contradiction:
ImprovelatencyVSAvoidsoftware processing overhead
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent segments large I/O requests into multiple smaller work requests that can be processed in parallel by multiple CPU cores. This segmentation reduces the processing overhead for each individual request and enables concurrent processing, thereby reducing overall latency in disaggregated storage environments while maintaining data transfer efficiency

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an I/O splitter component that acts as an intermediary between the host and storage devices. This intermediary breaks down large I/O requests into smaller work requests and distributes them across multiple processing queues, reducing software processing overhead and latency without requiring complete data staging in memory before forwarding

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of time

If large I/O requests are processed directly, then bandwidth utilization is maintained, but latency increases due to network and software processing overhead

Engineering Contradiction:
ImprovelatencyVSAvoidprocessing efficiency
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The patent segments large I/O requests into multiple smaller work requests that can be processed in parallel. This segmentation transforms a single long-processing task into multiple shorter tasks that can be handled concurrently by different CPU cores, reducing overall processing time and latency while maintaining or even increasing throughput

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent dynamically adjusts the granularity of work requests based on system conditions and optimizes queue sizes and polling rates. This dynamic adaptation allows the system to balance between processing efficiency and latency reduction, adjusting the degree of segmentation and processing parallelism based on current workload and resource availability

Inventive Principle:
Principle #15Dynamics

3Productivity

If queue sizes and polling rates are optimized, then processing efficiency improves, but system complexity increases

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidqueue management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements dynamic optimization of queue sizes and polling rates based on system conditions and workload characteristics. Rather than using fixed complex configurations, the system adapts these parameters in real-time, simplifying management while maintaining high processing efficiency through automated adjustment based on performance metrics

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11755239B2Methods and systems for processing read and write requests
Publication Date: 2023.09.12 NETAPP INC
  • US11755239B2 patent drawing
  • US11755239B2 patent drawing
  • US11755239B2 patent drawing

AI summary

Methods and systems for processing input/output (“I/O”) requests in a networked storage environment are disclosed. One method included polling, by a processor, a receive queue at a first polling rate to identify I/O requests received by the receive queue to read data from or write data to a storage device; determining, by the processor that a hit rate has reached a threshold value, the hit rate indicating a number of pending I/O requests at the receive queue, in response to the receive queue being polled at the first polling rate; and modifying, by the processor, the first polling rate to a second polling rate, in response to the hit rate reaching the threshold value.