Remote Memory Cache Replacement for Faster Firmware Fetch
Find Innovative SolutionsGenerate 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
Engineering Contradiction Analysis
1Speed
If firmware is stored on-chip, then access speed is fast, but memory cost increases significantly
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.
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.
2Quantity of substance
If off-chip memory like DRAM is used, then memory cost is reduced, but access speed becomes slow
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.
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
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.
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.
Data Source
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.


