Integrated NVRAM and InfiniBand Adapter for PCI Bus Contention

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional network storage systems face performance bottlenecks due to PCI bus contention, particularly in clustered failover configurations, which limits the cluster scaling factor and increases latency in sequential write workloads.

Innovation Solution

A network storage system that combines NVRAM and cluster interconnect adapter into a single device, using InfiniBand technology to merge local DMA and remote DMA operations into a single software stack, allowing for a single PCI transaction to transfer data to both local and remote NVRAM, thereby reducing PCI bus transactions and improving performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If separate NVRAM and cluster interconnect adapter devices are used, then system reliability is improved through redundancy, but PCI bus contention increases and performance decreases

Engineering Contradiction:
Improvesystem reliabilityVSAvoidcluster performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent combines the NVRAM device and cluster interconnect adapter into a single integrated device that includes both non-volatile memory and InfiniBand communication capabilities. This merging eliminates the need for separate PCI bus transactions to each device, reducing PCI bus contention while maintaining the reliability benefits of having both NVRAM and cluster interconnect functionality.

Inventive Principle:
Principle #5Merging (Combining)

2Reliability

If multiple PCI transactions are used to transfer data to NVRAM and cluster interconnect adapter, then data integrity is ensured, but latency increases and response time deteriorates

Engineering Contradiction:
Improvedata integrityVSAvoidlatency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

By integrating NVRAM and cluster interconnect adapter into a single device, the patent enables a single PCI transaction to simultaneously transfer data to both the NVRAM memory and the InfiniBand interface. This eliminates the sequential execution of multiple PCI transactions, reducing latency while ensuring data is properly replicated to both destinations for integrity.

Inventive Principle:
Principle #5Merging (Combining)

3Adaptability or versatility

If separate drivers and software stacks are used for NVRAM and cluster interconnect adapter, then device independence is maintained, but device complexity increases

Engineering Contradiction:
Improvedevice independenceVSAvoidsoftware complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The integrated device provides multiple functions (NVRAM storage and InfiniBand communication) through a single hardware unit with a unified software stack. The single driver handles both local DMA to NVRAM and remote DMA through the InfiniBand interface, eliminating the need for separate drivers and reducing software complexity while maintaining the adaptability of independent device operations.

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

Data Source

PatentUS7539781B1Use of queue pairs for local communication in a network storage system
Publication Date: 2009.05.26 NETAPP INC
  • US7539781B1 patent drawing
  • US7539781B1 patent drawing
  • US7539781B1 patent drawing

AI summary

A network storage system includes a non-volatile memory to store data including a log of received data access requests, and a cluster interconnect adapter through which to send data to a cluster partner. The nonvolatile memory and the cluster interconnect adapter are implemented in a single device connected to an expansion bus in the network storage system. Communication with the nonvolatile memory is carried out using LDMA, and communication with the cluster partner is carried out using RDMA via the cluster interconnect adapter. LDMA and RDMA functionality are merged in a common software stack.