NVMe over Fabric Buffer Control via Storage Space Detection
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
3Reliability
If the network adapter waits for memory space release and reallocates, then buffer overflow is prevented, but processing time increases and maintainability decreases
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.
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.
Data Source
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.


