Embedded Gateway Data Prefetch for DRAM Stall Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional network processing units (NPUs) experience significant stalling times due to long data access operations on external memories like DRAM, leading to inefficient use of processor resources.

Innovation Solution

An embedded gateway system with a data prefetch circuit that proactively reads data from a low-speed memory and writes it to a high-speed memory before the processor needs it, reducing stalling time by utilizing a RISC-V processor, a first memory, and a second memory with lower access latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If external memory (DRAM) is used to store packet data for the RISC-V processor, then data storage capacity is improved, but data access latency increases causing processor stalling

Engineering Contradiction:
Improvedata storage capacityVSAvoidprocessor stalling time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The memory system is segmented into two distinct memory components: a first external memory (DRAM) for bulk data storage and a second external memory for fast data access. This segmentation allows the system to maintain both large storage capacity and fast access speed by dividing the memory functionality across two specialized memory types.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The data prefetch circuit performs preliminary actions by proactively reading data from the first external memory and pre-loading it into the second external memory before the processor actually needs to access it. This preliminary data transfer operation ensures that when the processor requires the data, it is already available in the fast memory, eliminating stalling time.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the processor waits for data access operation on DRAM to complete, then data access accuracy is ensured, but processor resource utilization decreases

Engineering Contradiction:
Improvedata access accuracyVSAvoidprocessor resource utilization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The data prefetch circuit acts as an intermediary component between the processor and the external memory system. It handles the data transfer operations from the first external memory to the second external memory, allowing the processor to continue executing other instructions without waiting for data access operations to complete, thus maintaining both data accuracy and high processor utilization.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system enables continuous useful action by overlapping the data prefetch operation with processor execution. While the data prefetch circuit is transferring data in the background, the processor continues to execute other instructions without interruption. This ensures that the processor remains productive and does not stall waiting for memory operations to complete.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS20250251934A1Embedded gateway system with data prefetch mechanism
Publication Date: 2025.08.07 AIROHA TECH (SUZHOU) LTD
  • US20250251934A1 patent drawing
  • US20250251934A1 patent drawing
  • US20250251934A1 patent drawing

AI summary

An embedded gateway system includes a processor, a first memory, a second memory, and a data prefetch circuit. The processor is used to execute a first program. The first memory is used to store a first data. The first memory and the second memory are external memories of the processor, and access latency of the second memory is lower that access latency of the first memory. The data prefetch circuit is used to perform a first data prefetch operation upon the first memory for reading a first prefetched data from the first memory and writing the first prefetched data into the second memory. Before a time point at which the processor executes a data access code segment of the first program to access the first data, the first data prefetch operation reads the first data from the first memory as the first prefetched data.