Memory Controller Pre-fetch Cache for Latency Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Hub-based memory systems face significant latency due to the need for critical output and input channel resources to transport data from memory devices to pre-fetch buffers, especially during periods of high contention.

Innovation Solution

Implementing a computer memory system with a memory controller that includes a local pre-fetch data cache, where unsolicited data packets are transmitted from hub devices to the memory controller during idle periods, allowing the memory controller to store data in its cache for direct access, thereby reducing the need to access memory devices and hub devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If data is transported from memory devices to pre-fetch buffers through hub devices, then data can be cached for future access, but latency increases due to channel contention and transport time

Engineering Contradiction:
Improvememory latencyVSAvoidmemory throughput
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The memory controller performs preliminary actions by proactively pre-fetching data from memory devices and storing it in its local cache before actual read requests arrive. This allows the controller to have data ready in advance, eliminating the need for data to travel through hub devices when requests are made, thus reducing latency while maintaining throughput.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The memory controller acts as an intermediary between the memory devices and the processor. By implementing a local pre-fetch cache within the controller, it mediates data access by serving requests directly from its cache when possible, reducing the need for data transport through hub devices and thereby reducing latency and contention on the memory busses.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If a local pre-fetch cache is implemented in the memory controller, then data access speed improves, but the complexity of the memory controller increases

Engineering Contradiction:
Improvedata access speedVSAvoidmemory controller complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The pre-fetch cache is merged with the existing memory controller structure, combining the cache functionality with the controller's data path and control logic. This integration allows the cache to operate as a unified component within the controller, improving data access speed while minimizing the increase in overall system complexity by reusing existing controller resources and interfaces.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentEP2027538B1Systems and methods for providing remote pre-fetch buffers
Publication Date: 2013.02.27 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • EP2027538B1 patent drawingFigure 1
  • EP2027538B1 patent drawingFigure 2
  • EP2027538B1 patent drawingFigure 3

AI summary

Systems and methods for providing remote pre-fetch buffers. The systems include a computer memory system wit h a memory controller, one or more memory busses connected to the memory controller, and at least one memory subsystem in communication with the memory controller via the memory busses. The memory controller generates, receives and responds to memory access requests including unsolicited data transfers. The memory subsystem includes one or more memory devices and logic to initiate an unsolicited data transfer to the memory controller based on analysis performed at the memory subsystem of prior memory access requests received by the memory subsystem.