Dynamic Cache Granularity Partitioning for Mixed CPU-GPU Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional memory modules do not support multiple access granularities, leading to conflicts and increased latency, cost, and reduced space when processing components with different optimal data access granularities, such as CPUs and GPUs, access shared memory resources.

Innovation Solution

A memory sub-system with dynamic access granularity in a cache media, where a cache controller adjusts status bits of cache line metadata based on the access granularity of each cache line, allowing for flexible management of status bits depending on the access granularity, and optionally partitioning the cache memory into separate granularities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If conventional memory modules provide single access granularity, then device complexity is reduced, but data access latency increases when multiple processing components with different granularities access shared memory

Engineering Contradiction:
Improvedata access latencyVSAvoidaccess granularity management complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The cache memory is segmented into multiple partitions, each dedicated to a specific access granularity (e.g., 32-byte granularity partition and 64-byte granularity partition). This segmentation allows different processing components to access memory through their respective granularity partitions without interference, eliminating conflicts and reducing latency while maintaining manageable complexity through physical separation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The memory subsystem dynamically routes access requests to appropriate granularity partitions based on the access size requirements. The system adapts its behavior by directing 32-byte requests to the fine-granularity partition and 64-byte requests to the coarse-granularity partition, enabling flexible multi-granularity support without requiring complex software management.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If additional components are added to manage multiple access granularities, then adaptability improves, but device complexity and cost increase

Engineering Contradiction:
Improvesupport for multiple access granularitiesVSAvoidadditional components and logic
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

Multiple access granularity support is merged into the existing cache memory structure by creating partitions within the same physical memory device. This eliminates the need for separate memory devices or additional management components, as the single memory subsystem handles multiple granularities through internal partitioning, thereby reducing overall system complexity and cost.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The cache memory partitions are designed to serve multiple functions within a single subsystem. The same memory device can simultaneously serve 32-byte granularity needs and 64-byte granularity needs through its partitions, making the system universally adaptable to different processing components without requiring specialized dedicated memory for each granularity type.

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

3Adaptability or versatility

If host system processes data segments manually according to access granularity, then adaptability improves, but productivity decreases due to additional processing overhead

Engineering Contradiction:
Improvecompatibility with different processing componentsVSAvoiddata access throughput
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The memory subsystem performs self-service by automatically routing access requests to the appropriate granularity partition based on the request characteristics. This eliminates the need for host system software to manually segment and manage data accesses, as the memory controller handles the granularity management internally, thereby maintaining high productivity while supporting multiple processing components.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11656995B2Dynamic access granularity in a cache media
Publication Date: 2023.05.23 MICRON TECHNOLOGY INC
  • US11656995B2 patent drawing
  • US11656995B2 patent drawing
  • US11656995B2 patent drawing

AI summary

A method comprising receiving a memory access request comprising an address of data to be accessed and determining an access granularity of the data to be accessed based on the address of the data to be accessed. The method further includes, in response to determining that the data to be accessed has a first access granularity, generating first cache line metadata associated with the first access granularity and in response to determining that the data to be accessed has a second access granularity, generating second cache line metadata associated with the second access granularity. The method further includes storing the first cache line metadata and the second cache line metadata in a single cache memory component.