Pseudo Cut-Through NVMe-oF Architecture Reducing Memory Overhead

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing NVMe Over Fabric (NVMEoF) systems require significant memory resources and incur high latency due to the store and forward mechanism for data transfer between remote hosts and non-volatile memory storage, which is inefficient and undesirable.

Innovation Solution

A pseudo cut-through architecture is implemented, where remote descriptors specifying larger-than-page-size buffers are mapped to page-sized virtual buffers, allowing for direct memory access (DMA) requests to be generated and sent over the fabric, reducing the need for extensive buffering and minimizing latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a store and forward mechanism is used for data transfer between remote hosts and NVM storage, then data can be transferred reliably, but memory resource requirements increase and latency increases

Engineering Contradiction:
Improvedata transfer reliabilityVSAvoidmemory resources
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent segments large remote buffers into multiple page-sized virtual buffers, allowing the system to process and transfer data in smaller manageable chunks. This segmentation enables the controller to map remote buffers to page-sized virtual buffers, reducing the need for large memory buffers while maintaining reliable data transfer through the fabric.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces virtual buffers as an intermediary between remote buffers and physical memory. These virtual buffers act as a mediator that maps remote buffer addresses to physical memory locations, allowing the system to avoid direct large buffer allocations in physical memory while maintaining data transfer reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Quantity of substance

If a store and forward mechanism is used for data transfer, then data can be fully buffered, but operation latency increases

Engineering Contradiction:
Improvedata buffering capacityVSAvoidoperation latency
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

By segmenting data transfer into page-sized operations rather than requiring full buffer transfer, the system reduces the time data spends in buffering states. The controller can process and forward page-sized chunks more quickly, reducing overall operation latency while still providing sufficient buffering capacity for data transfer.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The controller pre-establishes mappings between remote buffers and virtual buffers before data transfer begins. This preliminary mapping setup allows for faster data transfer operations without requiring large buffering capacities, as the paths are already defined and ready for immediate data movement.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If remote buffers larger than page size are used, then data transfer efficiency improves, but memory resource requirements increase

Engineering Contradiction:
Improvedata transfer efficiencyVSAvoidmemory resources
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent segments large remote buffers into multiple page-sized virtual buffers, allowing the system to maintain the efficiency benefits of large buffer operations while avoiding the memory resource requirements of storing entire large buffers in physical memory. The virtual buffer layer enables this segmentation without performance loss.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Virtual buffers serve as an intermediary layer that allows the system to reference large remote buffers without allocating proportional physical memory. The virtual buffer mapping enables efficient data transfer by providing direct access paths while eliminating the need for large physical memory buffers.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9934173B1Pseudo cut-through architecture between non-volatile memory storage and remote hosts over a fabric
Publication Date: 2018.04.03 XILINX INC
  • US9934173B1 patent drawing
  • US9934173B1 patent drawing
  • US9934173B1 patent drawing

AI summary

An example method of exchanging data between a remote host and a target system includes receiving at least one remote descriptor from the remote host over a front-end fabric at a controller, the at least one remote descriptor specifying a remote buffer in a remote memory of the remote host that is larger than a page size. The method includes adding entries to a table that map the remote buffer to a plurality of page-sized virtual buffers in a virtual address space managed by the controller, generating local descriptors referencing the plurality of paged-sized virtual buffers, receiving a sequence of page-sized direct memory access (DMA) requests at the controller, generating a sequence remote DMA (RDMA) requests from the sequence of DMA requests based on the entries in the table, and sending the sequence of RDMA requests to the remote host over the front-end fabric.