Protocol Offload Device Data Replication via Shared Memory Abstraction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current technologies require significant CPU cycles, host memory bandwidth, and Ethernet bandwidth when replicating data in distributed file systems and multi-cast services, as they write replicated data as separate writes, leading to inefficiencies and potential failures.

Innovation Solution

A protocol offload device supports data replication by using a shared memory abstraction for send and receive buffers, allowing multiple connections to access a single copy of data through per-offloaded connection virtual addresses, and efficiently manages memory resources to send and receive replicated data across multiple connections.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is replicated by writing to multiple destinations as separate writes, then reliability is improved, but CPU cycles and host memory bandwidth are excessively consumed

Engineering Contradiction:
Improvedata replication reliabilityVSAvoidCPU cycles consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent extracts the data replication function from the host CPU to a dedicated protocol offload device (NIC). The host CPU initiates replication by writing data once to the NIC's buffer, and the NIC independently handles the multi-copy replication to multiple destinations, thereby removing the computationally intensive replication task from the host processor.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The protocol offload device acts as an intermediary between the host CPU and multiple storage destinations. It receives a single write operation from the host and automatically replicates the data to multiple destinations, mediating the complex multi-write operations that would otherwise burden the host CPU.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If data is replicated by writing to multiple destinations as separate writes, then reliability is improved, but host memory bandwidth is excessively consumed

Engineering Contradiction:
Improvedata replication reliabilityVSAvoidhost memory bandwidth
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts the data replication function from the host CPU to a dedicated protocol offload device (NIC). The host CPU initiates replication by writing data once to the NIC's buffer, and the NIC independently handles the multi-copy replication to multiple destinations, thereby removing the computationally intensive replication task from the host processor.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If multiple connections are established for replication, then data transmission reliability is improved, but device complexity increases

Engineering Contradiction:
Improvedata transmission reliabilityVSAvoidconnection management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The protocol offload device provides universal connection management capabilities, handling multiple TCP connections to different destinations simultaneously. The NIC's built-in protocol processing engine automatically manages connection states, acknowledgments, and retransmissions for all replication connections, providing multi-functional connection management without increasing host system complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS10681145B1Replication in a protocol offload network interface controller
Publication Date: 2020.06.09 SPEEDNIC LLC
  • US10681145B1 patent drawing
  • US10681145B1 patent drawing
  • US10681145B1 patent drawing

AI summary

Data replication can be supported efficiently in a protocol offload device (such as a protocol offload device to offload transport layer protocol processing from a host) by supporting a shared memory (SHM) abstraction for the send and receive buffers that are used in protocol offload devices. The protocol offload send and receive buffers are accessed using a per offloaded connection virtual address method that maps transport protocol sequence numbers (such as TCP protocol sequence numbers), to memory locations within buffers, and, for example, either page tables and paged memory or segment tables and segmented memory tables are used to access the memory.