Remote Memory Cache Replacement for Faster Firmware Fetch

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The challenge of storing firmware on a chip requires large memory, making it costly, and using off-chip memory like DRAM results in slow access due to non-network connections.

Innovation Solution

A network device accesses software code units from a remote memory (e.g., DRAM) over a network using remote direct memory access (RDMA), with a fetcher circuitry retrieving missing code from remote devices and authenticating it before execution, and fallback mechanisms to local non-volatile memory upon failure.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If firmware is stored on-chip, then access speed is fast, but memory cost increases significantly

Engineering Contradiction:
Improvefirmware access speedVSAvoidmemory capacity
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The firmware is divided into code units that are fetched on-demand from remote memory rather than loading the entire firmware image onto the chip. This segmentation allows the system to maintain fast access for active code while avoiding the cost of large on-chip memory capacity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A remote memory system over network is introduced as an intermediary storage layer. Instead of directly storing firmware on-chip or using slow off-chip memory, the system uses remote memory accessed via network protocols (such as RDMA) to provide a cost-effective storage solution with acceptable performance.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Quantity of substance

If off-chip memory like DRAM is used, then memory cost is reduced, but access speed becomes slow

Engineering Contradiction:
Improvememory capacityVSAvoidfirmware access speed
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

The traditional mechanical memory hierarchy (on-chip cache -> off-chip DRAM) is replaced with a network-based memory system. Remote memory access is achieved through network protocols including RDMA (Remote Direct Memory Access), which substitutes the slow mechanical memory access path with a network communication path that can provide comparable or superior performance.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Quantity of substance

If remote memory is accessed over network, then memory cost is reduced and capacity is increased, but network reliability may be affected

Engineering Contradiction:
Improvememory capacityVSAvoidcode retrieval reliability
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The system implements fallback mechanisms where code units can be retrieved from multiple sources (remote memory via network or local storage) depending on availability and reliability conditions. This beforehand cushioning ensures that network issues or remote memory unavailability do not compromise system operation.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Solution Approach 2:

The system monitors network conditions and memory availability, dynamically adjusting code retrieval strategies based on feedback. When network issues are detected or remote memory is unavailable, the system switches to alternative retrieval methods, ensuring reliable code acquisition under varying conditions.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS12554647B1Remote memory cache replacement
Publication Date: 2026.02.17 MELLANOX TECHNOLOGIES LTD(IL)
  • US12554647B1 patent drawing
  • US12554647B1 patent drawing
  • US12554647B1 patent drawing

AI summary

In one embodiment, a network device includes a network interface to share data over a network, a cache memory to store software code units of software code, fetcher circuitry to fetch the software code units for loading into the cache memory, and a processing unit to check for a given software code unit in the cache memory resulting in a cache miss, wherein the fetcher circuitry is to receive the given software code unit over the network from a remote memory disposed in a remote device as part of a cache replacement process, and provide the given software code unit to the cache memory.