PCIe Adapter Cache Zero-Copy Driver Latency Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data storage systems face latency issues due to the time and resources required for parity calculation and storage in RAID-5 schemes, which can lead to inefficiencies in data access and transfer.

Innovation Solution

A modified driver for a host computer that employs a PCIe adapter to minimize latency by bypassing memory copies to the kernel space, using a cache journal to manage data transfers and frame commands with destination addresses in the PCIe adapter's cache, allowing zero-copy operations and efficient cache management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If data is cached in PCIe adapter memory, then data transfer speed improves, but system complexity increases due to driver modifications and cache management overhead

Engineering Contradiction:
Improvedata transfer speedVSAvoidsystem complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The PCIe adapter acts as an intermediary between the host system and storage devices, maintaining a cache memory that buffers data transfers. The modified driver communicates with the adapter through a standardized interface, allowing the adapter to autonomously manage caching operations without requiring complex host-side cache management logic.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The PCIe adapter performs self-service by autonomously managing its internal cache memory. The adapter handles cache allocation, data buffering, and transfer coordination without requiring the host CPU to directly manage cache operations, thereby reducing host system complexity while maintaining high transfer speeds.

Inventive Principle:
Principle #25Self-service

2Loss of time

If zero-copy operations are implemented, then latency is reduced, but reliability risks increase due to bypassing kernel space validation

Engineering Contradiction:
ImprovelatencyVSAvoiddata transfer reliability
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The modified driver performs preliminary actions by pre-configuring the PCIe adapter with transfer parameters and cache mappings before initiating zero-copy operations. This includes setting up direct memory access descriptors and validating transfer specifications in advance, ensuring that bypassing kernel space does not compromise reliability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms where the PCIe adapter reports transfer status and completion to the modified driver. The driver maintains a journal of transfer operations and receives acknowledgments from the adapter, providing verification that zero-copy operations completed successfully without requiring traditional kernel space validation.

Inventive Principle:
Principle #23Feedback

3Reliability

If parity calculation is performed in RAID-5, then data redundancy is achieved, but data access latency increases due to additional processing time

Engineering Contradiction:
Improvedata redundancyVSAvoiddata access latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Parity information is calculated and stored in advance during write operations. When data is read from the RAID-5 array, the pre-calculated parity information is already available in the PCIe adapter cache, eliminating the need for real-time parity computation during read operations and thus reducing access latency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically adjusts parity management based on operation type. For write operations, parity is calculated and stored in the adapter cache. For read operations, the system determines whether to retrieve data directly from cache or reconstruct it using stored parity, optimizing performance based on current conditions rather than always performing parity calculation.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9104334B2Performance improvements in input/output operations between a host system and an adapter-coupled cache
Publication Date: 2015.08.11 AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LTD
  • US9104334B2 patent drawing
  • US9104334B2 patent drawing
  • US9104334B2 patent drawing

AI summary

A modified or host driver operable on a host computer communicates with a host interface of a PCIe adapter. A controller memory space is managed by the kernel space of the host operating system. The modified driver entirely avoids the overhead associated with making a copy from the application or user space to a separate kernel space managed by the operating system in the host computer. The modified driver uses a base address register to identify the location of the cache storage in the controller memory space. The size of the cache store is communicated to the modified driver upon a power on initialization of the PCIe adapter and the host computer. A memory map managed by the modified driver identifies cache storage locations as an offset from the base address register.