Network Interface Card Cache Management for I/O Latency Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional storage systems face inefficiencies in processing input/output requests due to the reliance on host processors for cache operations, leading to suboptimal caching performance and increased latency.

Innovation Solution

A method and system where a network interface card (NIC) maintains a cache entry data structure with a sync word to determine cache hits and misses, allowing it to process read requests from both host memory and storage devices without involving the host processor, thereby offloading cache operations and improving caching efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the host processor processes all cache operations for read requests, then the system maintains simple architecture, but the processing latency increases and throughput decreases

Engineering Contradiction:
ImproveI/O request processing throughputVSAvoidcache operation processing complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The NIC is equipped with cache memory and logic to independently determine cache hits and retrieve data without requiring host processor intervention. The NIC autonomously manages its own cache operations, including checking cache entries, detecting cache hits, and retrieving data from cache or host memory, thereby serving itself rather than relying on the host processor for every I/O request.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system divides the cache operation processing function into two independent parts: the NIC handles cache-related operations (checking cache entries, retrieving cached data) using its integrated cache memory, while the host processor handles non-cache operations. This segmentation allows parallel processing and reduces the host processor's workload.

Inventive Principle:
Principle #1Segmentation

2Loss of time

If the NIC independently processes read requests with integrated cache memory, then the processing latency decreases and throughput improves, but the device complexity increases

Engineering Contradiction:
Improvecache operation latencyVSAvoidNIC structure complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent combines the cache memory and cache management logic directly into the NIC, merging previously separate functions (NIC data reception and cache operations) into a single integrated unit. This consolidation enables the NIC to autonomously handle cache operations, reducing latency by eliminating host processor involvement in the critical path of cache hits.

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If the NIC checks cache entries for every read request, then the caching efficiency improves, but the processing complexity at the NIC increases

Engineering Contradiction:
Improvecaching efficiencyVSAvoidcache management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The NIC autonomously manages its cache by independently checking cache entries against incoming read requests, determining cache hits without host processor involvement. The NIC self-manages the complexity of cache operations including entry validation, hit detection, and data retrieval, converting what would be host processor complexity into NIC internal complexity that can be handled in hardware.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10216666B2Caching methods and systems using a network interface card
Publication Date: 2019.02.26 MARVELL ASIA PTE LTD
  • US10216666B2 patent drawing
  • US10216666B2 patent drawing
  • US10216666B2 patent drawing

AI summary

A computing device having a host memory and a host processor for executing instructions out of the host memory; and a network interface card interfacing with the computing device are provided. When there is a cache hit for a read request, the network interface card processes the read request by obtaining data stored from one or both of the host memory and a storage device that the network interface card accesses without involving the host processor and when there are is a cache miss, then the read request is processed by the host processor.