Banked Cache Store Queue Selection for Bandwidth Utilization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Banked cache architectures fail to realize increased memory access bandwidth when memory access requests are concentrated in a subset of banks, leading to underutilization of available memory access bandwidth.

Innovation Solution

A data processing system with multiple processor cores and a banked lower level cache, where store requests are buffered in multiple store queues, and requests targeting a common bank are temporarily favored for issuance over those targeting other banks to improve bandwidth utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If store requests are distributed evenly across multiple store queues, then the system maintains simplicity in request management, but store bandwidth utilization decreases when requests concentrate on specific banks

Engineering Contradiction:
Improvestore bandwidth utilizationVSAvoidrequest selection mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements dynamic selection of favored store queues based on real-time bank utilization patterns. The system monitors which banks receive concentrated store requests and dynamically adjusts which store queues are favored for issuance, transforming a static round-robin or priority scheme into an adaptive mechanism that responds to workload distribution patterns.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system incorporates feedback loops that monitor bank utilization and adjust store queue selection accordingly. When requests concentrate on specific banks, the feedback mechanism identifies this pattern and modifies the issuance strategy to favor store queues that can better distribute requests across underutilized banks, thereby optimizing overall store bandwidth utilization.

Inventive Principle:
Principle #23Feedback

2Productivity

If the system favors store requests from one queue over another, then store bandwidth utilization improves for concentrated workloads, but request issuance fairness deteriorates

Engineering Contradiction:
Improvestore bandwidth utilizationVSAvoidrequest issuance fairness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The favored queue designation is not static but dynamically changes based on workload patterns. When one queue is favored due to concentrated requests targeting specific banks, the system monitors for pattern changes and switches the favored queue when appropriate, ensuring that no single queue is permanently disadvantaged and maintaining long-term fairness.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the selection parameter from fixed queue priorities to dynamic bank-utilization-based preferences. By adjusting which queue is favored based on real-time analysis of request patterns and bank utilization, the system adapts to varying workload conditions while maintaining fairness across different scenarios.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If all store requests are processed through a single unified queue, then queue management remains simple, but the cache cannot achieve increased memory access bandwidth through banked architecture

Engineering Contradiction:
Improvememory access bandwidthVSAvoidmultiple store queues management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides the single unified store queue into multiple separate store queues, each potentially specialized for different request patterns or sources. This segmentation enables the system to better manage and distribute requests across multiple cache banks, thereby achieving the increased memory access bandwidth that banked architecture requires while maintaining organized queue management.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Multiple store queues serve multiple functions: they act as buffers for incoming requests, as distribution mechanisms for load balancing across banks, and as selection candidates for optimization based on workload patterns. This multi-functionality justifies the added complexity of managing multiple queues by delivering significant performance benefits.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS10394566B2Banked cache temporarily favoring selection of store requests from one of multiple store queues
Publication Date: 2019.08.27 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10394566B2 patent drawing
  • US10394566B2 patent drawing
  • US10394566B2 patent drawing

AI summary

A data processing system includes a plurality of processor cores each having a respective store-through upper level cache and a store-in banked lower level cache. Store requests of the plurality of processor cores destined for the banked lower level cache are buffered in multiple store queues including a first store queue and a second store queue. In response to determining that the multiple store queues contain store requests targeting a common bank of the banked lower level cache, store requests from the first store queue are temporarily favored for selection for issuance to the banked lower level cache over those in the second store queue.