Cache Line Crossing Load Handling in Caching Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional cache line crossing load techniques in caching systems are inefficient, often requiring interruptions and excessive hardware resources, especially when handling unaligned data that crosses cache line boundaries, leading to increased latency and hardware expenditures.

Innovation Solution

The proposed technique detects cache line crossing loads and reloads the associated cache lines in the same set, using a cache line crossing link indicator to link the cache lines, allowing for efficient data access without multiple accesses to the effective-to-real translation mechanism, thereby reducing latency and hardware costs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If conventional cache line crossing load techniques are used, then data access can be performed, but hardware resources are excessive and latency is increased

Engineering Contradiction:
ImprovelatencyVSAvoidhardware resources
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent segments the cache line crossing load operation into two independent parts: (1) detecting whether a cache line crossing load operation occurs, and (2) reloading only the necessary second cache line when needed. This segmentation allows the system to avoid unnecessary hardware resource consumption and reduce latency by processing operations in discrete, optimized stages rather than using complex conventional techniques that handle all cases uniformly.

Inventive Principle:
Principle #1Segmentation

2Productivity

If multiple accesses to effective-to-real translation mechanism are performed, then data can be accessed, but hardware costs and interruptions increase

Engineering Contradiction:
Improvedata access efficiencyVSAvoidhardware costs
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent performs preliminary detection of cache line crossing load operations before executing data access. By detecting whether the load operation crosses cache line boundaries in advance, the system can prepare the appropriate translation mechanism access pattern, avoiding multiple sequential accesses to the effective-to-real translation mechanism and reducing both hardware costs and interruptions.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses feedback from the detection mechanism to guide the data access process. When a cache line crossing load is detected, the system feedbacks this information to control the reloading process and translation mechanism access, ensuring that only necessary translations are performed, thereby optimizing productivity while reducing hardware resource expenditure.

Inventive Principle:
Principle #23Feedback

3Reliability

If cache lines are reloaded in different sets, then data can be fetched, but cache line locality is lost

Engineering Contradiction:
Improvedata fetch completenessVSAvoidcache line locality
Core Design Contradiction:
ReliabilityVSStability of the object's composition

Solution Approach 1:

The patent merges the reloading of cache lines into the same set operation. When a cache line crossing load is detected, the system combines the first cache line and second cache line reloading into a unified operation that maintains their relationship within the same cache set. This merging preserves cache line locality and stability while ensuring complete data fetch, as both cache lines are processed together in the same set rather than being scattered across different sets.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9495298B2Cache line crossing load techniques
Publication Date: 2016.11.15 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9495298B2 patent drawing
  • US9495298B2 patent drawing
  • US9495298B2 patent drawing

AI summary

A technique for handling an unaligned load operation includes detecting a cache line crossing load operation that is associated with a first cache line and a second cache line. In response to an cache including the first cache line but not including the second cache line, the second cache line is reloaded into the cache in a same set as the first cache line. In response to reloading the second cache line in the cache, a cache line crossing link indicator associated with the first cache line is asserted to indicate that both the first and second cache lines include portions of a desired data element.