Proxy Interface for Direct DMA Between NIC and SSD

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current bus architectures, such as PCIe, require NICs and SSDs to transfer data through host memory, introducing latency and consuming bandwidth and CPU cycles, as both devices are conventionally defined as bus masters and cannot directly transfer data via the bus.

Innovation Solution

An interface device with two proxy interfaces and a buffer memory is used to facilitate direct memory access (DMA) transactions between NICs and SSDs, allowing data transfer without involving the host memory, while maintaining bus-master functionality, by emulating host memory behavior and using multiplexing logic to convey transactions between the SSD and the bus.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is transferred through host memory using conventional bus architectures, then data transfer between NICs and SSDs is enabled, but latency increases and bandwidth is consumed

Engineering Contradiction:
Improvedata transfer capabilityVSAvoidtransfer latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent introduces a proxy interface as an intermediary component between the NIC and SSD. This proxy acts as a mediator that enables direct DMA transactions between the two devices by handling address translation and transaction routing, eliminating the need for data to traverse host memory while maintaining compatibility with existing bus architectures.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the data transfer path by creating separate transaction channels: one for NIC-initiated DMA transactions and another for SSD-initiated DMA transactions. Each proxy interface handles transactions from its respective device independently, allowing parallel operation and reducing contention on the shared bus while avoiding host memory involvement.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If data is transferred through host memory, then standard bus-master functionality is maintained, but bandwidth consumption increases and CPU cycles are consumed

Engineering Contradiction:
Improvebus-master functionalityVSAvoidbandwidth and power consumption
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

The proxy interface serves as an intermediary that preserves the bus-master functionality of both NIC and SSD by translating their DMA transactions into appropriate bus operations. It handles address space mapping and transaction formatting, allowing both devices to operate as bus masters simultaneously without requiring data to pass through host memory, thereby reducing bandwidth consumption and power usage.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If direct DMA transactions between NICs and SSDs are enabled, then latency is reduced and bandwidth is saved, but device complexity increases

Engineering Contradiction:
Improvedata transfer efficiencyVSAvoidinterface device complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The proxy interface introduces controlled complexity by centralizing the intelligence needed for direct DMA operations in a single intermediary component. This approach manages address translation, transaction routing, and buffer management in one location, which simplifies the overall system architecture compared to distributing this functionality across multiple devices. The added complexity is localized and manageable, enabling significant productivity gains through reduced latency and improved transfer efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Speed

If host memory is bypassed for data transfer, then transfer speed improves, but compatibility with existing host buses may be compromised

Engineering Contradiction:
Improvedata transfer speedVSAvoidhost bus compatibility
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The proxy interface maintains host bus compatibility by acting as an intermediary that translates direct DMA transactions into standard bus protocols. It handles address space mapping and transaction formatting to ensure compatibility with existing PCIe and other host bus standards, while simultaneously enabling faster direct transfers between NIC and SSD by bypassing host memory for the actual data movement.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8949486B1Direct memory access to storage devices
Publication Date: 2015.02.03 MELLANOX TECHNOLOGIES LTD(IL)
  • US8949486B1 patent drawing
  • US8949486B1 patent drawing

AI summary

An interface device includes a first proxy interface configured to carry out first direct memory access (DMA) transactions initiated by an input/output (I/O) device and a second proxy interface configured to carry out second DMA transactions initiated by a storage drive. A buffer memory is coupled between the first and second proxy interfaces and configured to temporarily hold data transferred in the first and second DMA transactions. Control logic is configured to invoke the second DMA transactions in response to the first DMA transactions so as to cause the data to be transferred via the buffer between the I/O device and the storage drive.