NVMe over Fabric Buffer Control via Storage Space Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In NVMe over fabric architectures, insufficient network adapter memory leads to complex processing mechanisms, including failed command executions and poor maintainability, due to insufficient storage space for buffering data, resulting in delayed data transmission and resource management inefficiencies.

Innovation Solution

A method and system that control data read/write commands by determining available storage space before sending commands, suspending or proceeding based on whether the required space matches or exceeds the available space, ensuring efficient data buffering and transmission by avoiding buffer overflow.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If the network adapter memory is used to buffer data for read/write commands, then data transmission can be supported, but when the storage space is insufficient, the system becomes complex and difficult to maintain

Engineering Contradiction:
Improvestorage space utilizationVSAvoidprocessing mechanism complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent introduces a buffer status notification mechanism as an intermediary between the network adapter and the host. The network adapter notifies the host about buffer status (full, empty, partially filled), and the host adjusts its command sending accordingly. This intermediary communication layer simplifies the overall system by providing clear status signals rather than requiring complex embedded logic within the network adapter to manage buffer overflow/underflow conditions.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The host system is empowered to self-regulate its command sending based on buffer status notifications. Instead of the network adapter actively managing and buffering commands (which increases its complexity), the host monitors buffer status and controls its own command flow. This shifts the burden of buffer management to the host, allowing the network adapter to remain simpler and more maintainable.

Inventive Principle:
Principle #25Self-service

2Productivity

If the network adapter buffers data in limited memory space, then data transmission is enabled, but command execution fails when storage space is insufficient

Engineering Contradiction:
Improvedata transmission efficiencyVSAvoidcommand execution reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements a feedback mechanism where the network adapter continuously monitors its buffer status and sends notifications to the host. When the buffer is full or empty, the adapter notifies the host to pause or resume command sending. This real-time feedback loop ensures that commands are only sent when the buffer can accommodate them, preventing execution failures while maintaining high data transmission efficiency when buffer space is available.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs preliminary checks of buffer status before command execution. The host checks buffer status notifications before sending commands, and the network adapter checks buffer availability before accepting new commands. This preliminary verification prevents situations where commands would fail due to insufficient storage space, thereby improving command execution reliability without significantly impacting overall productivity.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If the network adapter waits for memory space release and reallocates, then buffer overflow is prevented, but processing time increases and maintainability decreases

Engineering Contradiction:
Improvedata buffering reliabilityVSAvoidprocessing delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The host performs preliminary checks of buffer status before sending commands, preventing buffer overflow before it occurs. By checking whether the buffer has sufficient space in advance and only sending commands when appropriate, the system avoids the need for time-consuming waiting and reallocation operations, thereby maintaining both reliability and processing speed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The feedback-based buffer management enables continuous useful action by keeping the data transmission pipeline flowing smoothly. The host continuously monitors buffer status notifications and adjusts its command sending to match buffer availability, ensuring that the buffer is consistently utilized without overflow or unnecessary idle time. This continuous adaptation maintains high productivity while ensuring reliable data buffering.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS10838665B2Method, device, and system for buffering data for read/write commands in NVME over fabric architecture
Publication Date: 2020.11.17 HUAWEI TECH CO LTD
  • US10838665B2 patent drawing
  • US10838665B2 patent drawing
  • US10838665B2 patent drawing

AI summary

A control device for a non-volatile memory express (NVMe) over fabric architecture is provided. The control device comprises a network adapter and a processor coupled to the network adapter by a bus. Data is transmitted between the control device and a storage device in the NVMe over fabric architecture. The processor is configured to obtain an available storage space of the storage device, determine whether a storage space required by a first data to be transmitted according to a first data read/write command is equal to or less than the available storage space, and send the first data read/write command to the storage device if the storage space required by the first data is equal or less than to the available storage space and suspend sending of the first data read/write command if the storage space occupied by the first data is greater than the available storage space.