Linked-List Prefetch Buffer for Memory Latency Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In modern digital systems, particularly in System On a Chip (SOC) designs, memory system latency leads to inefficiencies due to increased access time requirements and inefficient prefetch buffer use, especially in video and multimedia applications with high data demands.

Innovation Solution

A prefetch memory processing system that uses a linked list to manage a prefetch buffer, predicting data needs and storing it in a buffer for quick access, with a prefetch memory interface that checks read/write commands to optimize data retrieval and storage, allowing for efficient use of buffer space and reducing latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If a linearly addressed stream buffer is used for prefetching, then the buffer structure is simple to implement, but the buffer use efficiency deteriorates and system performance does not improve

Engineering Contradiction:
Improvebuffer implementation simplicityVSAvoidbuffer use efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent changes the addressing parameter from linear addressing to linked-list-based indirect addressing. This allows the buffer to dynamically adapt to actual data access patterns rather than assuming sequential access, thereby improving buffer hit rates and overall efficiency while maintaining implementation feasibility through the use of standard pointer-based data structures

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent introduces dynamic behavior to the buffer management by using a linked list structure that can be reorganized based on data usage patterns. The buffer entries can be inserted, removed, and repositioned dynamically based on prefetch accuracy and actual access needs, allowing the system to adapt to varying workload characteristics rather than being stuck with a static linear structure

Inventive Principle:
Principle #15Dynamics

2Loss of time

If more data is prefetched to reduce latency, then memory access speed improves, but buffer space utilization deteriorates

Engineering Contradiction:
Improvememory access latencyVSAvoidbuffer space utilization
Core Design Contradiction:
Loss of timeVSQuantity of substance

Solution Approach 1:

The patent implements partial prefetching by using the linked list to selectively prefetch only the most likely needed data items. Rather than aggressively filling the buffer with excessive data that may never be used, the system performs targeted prefetching based on linked-list pointers that indicate probable access patterns, achieving good latency reduction while maintaining high buffer utilization

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent implements a mechanism where buffer entries are dynamically added and removed based on their usefulness. When prefetched data is not needed (determined through linked-list tracking), those buffer slots are freed for other uses. This continuous cycle of adding useful data and discarding unnecessary data maintains optimal buffer utilization while still reducing latency for actually needed data

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS8650364B2Processing system with linked-list based prefetch buffer and methods for use therewith
Publication Date: 2014.02.11 VIXS SYSTEMS INC
  • US8650364B2 patent drawing
  • US8650364B2 patent drawing
  • US8650364B2 patent drawing

AI summary

A processing device includes a memory and a processor that generates a plurality of read commands for reading read data from the memory and a plurality of write commands for writing write data to the memory. A prefetch memory interface prefetches prefetch data to a prefetch buffer, retrieves the read data from the prefetch buffer when the read data is included in the prefetch buffer, and retrieves the read data from the memory when the read data is not included in the prefetch buffer, wherein the prefetch buffer is managed via a linked list.