SmartNIC Buffer Management for Cache-Bounded Storage Writes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In storage systems using SmartNICs, continuous Write requests from a host can lead to buffer overflow in the CPU cache, causing low-speed memory access and degraded Write performance due to cache misses, especially when the SmartNIC has lower hardware performance than the controller body.

Innovation Solution

A network interface device converts access requests, allocates buffers for Write data temporarily, and instructs the host to start data transmission before allocating buffers, using reserved memory areas to manage buffer capacity within the cache limits, thereby reducing cache misses and improving Write performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If buffers are allocated in the CPU cache of the SmartNIC to avoid low-speed memory access, then Write performance is improved, but the cache capacity is limited and cannot handle continuous Write requests

Engineering Contradiction:
ImproveWrite performanceVSAvoidbuffer capacity
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent divides the buffer storage into two segments: cache memory for high-speed access and ordinary memory for additional capacity. The controller allocates buffers in ordinary memory when cache is full, and uses a buffer management unit to coordinate data transfer between these segments, effectively segmenting the storage hierarchy to resolve the capacity-speed tradeoff.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of buffer management by adding a buffer management unit that operates independently from the CPU cache hierarchy. This unit manages ordinary memory buffers and coordinates with the cache, effectively adding a third layer to the traditional two-layer (cache-DRAM) memory hierarchy.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Quantity of substance

If the SmartNIC has lower hardware performance than the controller body, then cost is reduced, but Write performance degradation due to cache miss becomes more significant

Engineering Contradiction:
Improvehardware resourcesVSAvoidWrite performance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent introduces a buffer management unit as an intermediary component that mediates between the CPU cache and ordinary memory. This intermediary handles buffer allocation, data transfer coordination, and cache miss management, allowing the SmartNIC to maintain acceptable Write performance despite having lower overall hardware performance than the controller body.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Loss of time

If buffers are continuously allocated while waiting for Write target data from the host, then data can be immediately stored when arrives, but buffer capacity increases in proportion to the number of Write requests

Engineering Contradiction:
Improvedata storage delayVSAvoidtotal buffer capacity
Core Design Contradiction:
Loss of timeVSQuantity of substance

Solution Approach 1:

The patent applies preliminary action by pre-allocating buffers in ordinary memory before data arrival, but only allocating the minimum necessary capacity based on expected workload. The buffer management unit monitors cache usage and dynamically adjusts ordinary memory buffer allocation, preventing excessive buffer capacity from being reserved while ensuring immediate data storage capability.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20250217073A1Storage system
Publication Date: 2025.07.03 HITACHI VANTARA LTD
  • US20250217073A1 patent drawing
  • US20250217073A1 patent drawing
  • US20250217073A1 patent drawing

AI summary

A storage system includes a controller and a network interface device connected to the controller. The network interface device receives an access request from a host, converts the access request into an access request interpretable by the controller, and issues the access request to the controller. In processing in response to a data writing request from the host, the network interface transmits a message for an instruction to start transmission of writing target data to the host, and then allocates a buffer that temporarily stores writing target data, stores the writing target data received from the host in the buffer, and transfers the writing target data stored in the buffer to the controller.