RNIC Layout Templates for SSD Data Transfer Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing storage technologies, particularly those using solid state drives (SSDs), face limitations in performance due to reliance on CPUs for command processing, which can hinder virtualization functionality and data transfer efficiency, especially when interfacing with SSDs through older interface technologies like SATA and SAS.

Innovation Solution

Implementing a remote direct memory access (RDMA) enabled network interface card (RNIC) that allows direct data transfer between the RNIC and SSDs, using layout templates and intent records to manage data distribution across SSDs, while maintaining CPU control over virtualization functions like address translation and redundancy, thereby optimizing data flow and reducing CPU intervention.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If CPUs are used for command processing in storage systems, then virtualization functionality and address translation can be maintained, but data transfer efficiency and performance are hindered

Engineering Contradiction:
Improvevirtualization functionalityVSAvoiddata transfer efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The system segments functionality between the RNIC and CPU. The RNIC handles data transfer operations independently using its own address translation engine and command processing logic, while the CPU handles higher-level virtualization management. This segmentation allows data transfer to proceed without CPU bottlenecks while maintaining virtualization capabilities.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The RNIC acts as an intermediary device between the host and storage devices. It includes an address translation engine that mediates address mappings independently of the CPU, and a buffer that intermediates data flow, allowing transfers to complete without continuous CPU intervention while still supporting virtualization through coordinated communication.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If direct data transfer between RNIC and SSDs is implemented, then data transfer performance is enhanced, but CPU control over virtualization functions is reduced

Engineering Contradiction:
Improvedata transfer performanceVSAvoidCPU control over virtualization
Core Design Contradiction:
ProductivityVSExtent of automation

Solution Approach 1:

The RNIC performs preliminary address translation and data transfer preparation independently before involving the CPU. The address translation engine pre-processes address mappings using layout templates, and the buffer pre-stage s data, allowing fast direct transfer while the CPU retains oversight for virtualization coordination through intent records and completion notifications.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If layout templates and intent records are used to manage data distribution, then data flow optimization is achieved, but system complexity increases

Engineering Contradiction:
Improvedata flow optimizationVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system uses layout templates that define data distribution parameters (striping width, block size, destination mappings) and intent records that parameterize transfer operations. These structured parameter sets enable optimized data flow through the RNIC's address translation engine and buffer management while providing a manageable framework that reduces operational complexity despite the enhanced functionality.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10831386B2Remote direct memory access
Publication Date: 2020.11.10 HEWLETT PACKARD ENTERPRISE DEV LP
  • US10831386B2 patent drawing
  • US10831386B2 patent drawing
  • US10831386B2 patent drawing

AI summary

Examples disclosed herein relate to a storage appliance using an optimistic allocation of storage space. In an example system, a number of storage drives are coupled to a storage controller and an RNIC (remote direct memory access (RDMA) network interface card (NIC)) through a storage network. The RNIC includes a layout template selector and a number of templates, wherein the layout template selector selects a template based, at least in part, on a logical block address (LBA) received from a host. The template identifies each of the plurality of storage drives associated with portions of data represented by the LBA.