Differential Cache Block Sizing for Memory Bandwidth Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computing systems face inefficiencies in cache management due to mismatched cache block sizes between processor cores and main memory, leading to suboptimal cache packing and channel bandwidth utilization, particularly in handling cache misses and prefetch requests.

Innovation Solution

Implementing differential cache block sizing by determining the number of available cache blocks based on main memory payload length and cache block size, and using a missing address storage unit (MASU) to associate and merge prefetch requests, allowing for optimized cache block sizing and efficient channel bandwidth utilization through vector prefetching.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If a fixed cache block size is used for all cache requests, then the cache structure is simple and easy to implement, but cache packing efficiency and channel bandwidth utilization become suboptimal

Engineering Contradiction:
Improvecache structure simplicityVSAvoidcache packing efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent implements dynamic cache block sizing where the cache block size is adjusted based on the payload length of main memory requests. The cache controller determines the number of cache blocks to retrieve from main memory based on available payload length, transforming the fixed block size into a dynamic parameter that adapts to different memory transaction sizes, thereby improving cache packing efficiency without significantly complicating the cache structure

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of cache block size from a fixed value to a variable that depends on main memory payload length. The cache controller modifies the number of cache blocks retrieved based on the payload length information from main memory, allowing the system to optimize cache packing efficiency by matching cache block quantities to the actual data transfer capacity of the memory interface

Inventive Principle:
Principle #35Parameter changes

2Speed

If the cache block size is optimized for processor core access, then processor performance is improved, but main memory channel bandwidth utilization becomes suboptimal

Engineering Contradiction:
Improveprocessor access speedVSAvoidchannel bandwidth utilization
Core Design Contradiction:
SpeedVSLoss of energy

Solution Approach 1:

The patent creates a dynamic cache retrieval mechanism that adjusts the number of cache blocks fetched from main memory based on payload length. This allows the system to maintain small cache block sizes for fast processor access while simultaneously optimizing the number of blocks retrieved per memory transaction to fully utilize the available channel bandwidth, resolving the contradiction between processor speed and bandwidth utilization

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the retrieval parameter from a fixed cache block size to a variable number of cache blocks based on payload length. This allows the cache controller to fetch an optimal number of blocks that matches the memory channel capacity, ensuring both fast processor access (by maintaining appropriate block sizes) and efficient bandwidth utilization (by adjusting the quantity of blocks transferred)

Inventive Principle:
Principle #35Parameter changes

3Productivity

If differential cache block sizing is implemented, then cache packing efficiency and bandwidth utilization are improved, but cache management complexity increases

Engineering Contradiction:
Improvecache packing efficiencyVSAvoidcache management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a dynamic cache block sizing mechanism controlled by a cache controller that receives payload length information from main memory. The controller dynamically determines the number of cache blocks to retrieve based on this information, improving cache packing efficiency while managing complexity through a centralized control unit that handles the differential sizing logic

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the cache block retrieval parameter from fixed to variable based on payload length. The cache controller manages this parameter change by calculating the number of cache blocks to retrieve using the payload length information, improving cache packing efficiency while containing management complexity within the cache controller's decision-making process

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11379379B1Differential cache block sizing for computing systems
Publication Date: 2022.07.05 MARVELL ASIA PTE LTD
  • US11379379B1 patent drawing
  • US11379379B1 patent drawing
  • US11379379B1 patent drawing

AI summary

Described is a computing system and method for differential cache block sizing for computing systems. The method for differential cache block sizing includes determining, upon a cache miss at a cache, a number of available cache blocks given a payload length of the main memory and a cache block size for the last level cache, generating a main memory request including at least one indicator for a missed cache block and any available cache blocks, sending the main memory request to the main memory to obtain data associated with the missed cache block and each of the any available cache blocks, storing the data received for the missed cache block in the cache; and storing the data received for each of the any available cache blocks in the cache depending on a cache replacement algorithm.