Cache Arrangement for Reducing Interconnect Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In systems with limited or shared interconnects between cache memory and primary memory, data pre-fetch requests can increase latency, particularly when accessing memory on a different die within a package, leading to decreased CPU performance due to increased memory latency and 'head of line blocking' in traditional monolithic system-on-chip designs.

Innovation Solution

Implementing a cache arrangement where data associated with memory requests is allocated in one cache memory but not the other, with the second cache arrangement performing speculative pre-fetches and allocating memory space for pre-fetched data, thereby reducing interconnect usage for speculative requests and optimizing data allocation based on quality of service and spatial locality.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If data pre-fetch requests are implemented to increase memory access speed, then data retrieval speed is improved, but latency in the interconnect is increased

Engineering Contradiction:
Improvedata retrieval speedVSAvoidinterconnect latency
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The cache system is divided into two separate cache memories (first cache memory and second cache memory) with distinct allocation policies. The second cache memory handles pre-fetch requests and allocates space for pre-fetched data, while the first cache memory handles regular memory requests. This segmentation allows pre-fetch operations to occur independently without blocking the interconnect for regular data access, thus improving overall data retrieval speed while minimizing interconnect latency.

Inventive Principle:
Principle #1Segmentation

2Speed

If pre-fetch requests are sent to increase memory access speed, then overall memory access speed is improved, but CPU performance is decreased due to head of line blocking

Engineering Contradiction:
Improvememory access speedVSAvoidCPU performance
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

By segmenting the cache into two independent memories with separate controllers, pre-fetch operations in the second cache memory do not block the interconnect or affect CPU access to the first cache memory. This eliminates head-of-line blocking where pre-fetch requests would otherwise force the CPU to wait, thereby maintaining both fast memory access and high CPU performance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The second cache memory acts as an intermediary that handles speculative pre-fetch requests independently. It receives pre-fetch requests, allocates space for pre-fetched data, and returns results without blocking the main memory interconnect. This intermediary structure allows the system to benefit from pre-fetching while preventing it from degrading CPU performance through blocking.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Speed

If cache memory is used to store pre-fetched data, then data retrieval speed is improved, but interconnect resources are overutilized

Engineering Contradiction:
Improvedata retrieval speedVSAvoidinterconnect resource utilization
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The cache system is divided into two separate cache memories (first cache memory and second cache memory) with distinct allocation policies. The second cache memory handles pre-fetch requests and allocates space for pre-fetched data, while the first cache memory handles regular memory requests. This segmentation allows pre-fetch operations to occur independently without blocking the interconnect for regular data access, thus improving overall data retrieval speed while minimizing interconnect latency.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9058283B2Cache arrangement
Publication Date: 2015.06.16 STMICROELECTRONICS (RES & DEV) LTD
  • US9058283B2 patent drawing
  • US9058283B2 patent drawing
  • US9058283B2 patent drawing

AI summary

A first cache arrangement including an input configured to receive a memory request from a second cache arrangement; a first cache memory for storing data; an output configured to provide a response to the memory request for the second cache arrangement; and a first cache controller; the first cache controller configured such that for the response to the memory request output by the output, the cache memory includes no allocation for data associated with the memory request.