Configurable L1 Cache for Parallel Memory Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data processing systems face challenges in efficiently managing multiple memory spaces with different scopes, leading to increased dedicated storage requirements and inefficiencies in parallel processing architectures.

Innovation Solution

A Level-1 (L1) cache is configured to serve multiple clients with diverse latency and bandwidth requirements, replacing dedicated buffers and FIFOs by creating a direct mapped storage region that functions as a global register file and supporting local and global cache storage regions for load/store memory requests across various memory spaces.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If separate dedicated storage resources are provided for each memory space (private local memory, per-group shared memory, global memory), then each client can access its designated memory space independently, but the total dedicated storage requirements increase and system efficiency decreases

Engineering Contradiction:
Improvememory access independenceVSAvoiddedicated storage requirements
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent merges multiple separate memory spaces (private local memory, per-group shared memory, and global memory) into a unified L1 cache structure. The L1 cache is configured to service multiple clients with diverse latency and bandwidth requirements, replacing dedicated buffers, FIFOs, and interface paths. This consolidation reduces total dedicated storage requirements while maintaining independent access capabilities through configurable storage regions and arbitration mechanisms.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The L1 cache is designed as a universal storage resource that can function as multiple memory spaces simultaneously. It configures a first set of entries to function as local and global data cache, a second set of entries as direct mapped registers, and can be reconfigured to create multiple storage spaces. This multi-functional design allows a single storage resource to replace multiple dedicated storage components.

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

2Adaptability or versatility

If multiple parallel threads share data through separate memory spaces, then data sharing between threads is enabled, but the complexity of managing multiple dedicated storage resources increases

Engineering Contradiction:
Improvedata sharing capabilityVSAvoidstorage resource management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic reconfiguration of the L1 cache to adapt to different data sharing requirements. The cache can be reconfigured to create multiple storage spaces, with configurable first and second sets of entries that can be adjusted based on the specific needs of parallel threads. This dynamic adaptability enables flexible data sharing while simplifying management compared to static dedicated storage resources.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The L1 cache acts as an intermediary storage resource between multiple parallel threads, replacing the need for multiple separate dedicated storage resources. The cache controller arbitrates between first and second clients, managing data sharing centrally rather than requiring complex coordination between multiple independent storage systems. This intermediary approach reduces management complexity while maintaining data sharing capabilities.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Stability of the object's composition

If dedicated buffers and FIFOs are used for each client, then client-specific data flow is maintained, but the overall system performance and memory access efficiency decrease

Engineering Contradiction:
Improveclient data flow integrityVSAvoidmemory access efficiency
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The patent merges multiple dedicated buffers and FIFOs into a unified L1 cache structure that services multiple clients. The cache maintains client-specific data flow integrity through configurable storage regions (direct mapped storage region, local and global cache storage region) and arbitration mechanisms, while improving overall memory access efficiency by eliminating redundant dedicated storage components and enabling shared access to high-speed cache memory.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentEP2480975B1Configurable cache for multiple clients
Publication Date: 2018.06.13 NVIDIA CORP
  • EP2480975B1 patent drawingFigure 1
  • EP2480975B1 patent drawingFigure 2
  • EP2480975B1 patent drawingFigure 3A

AI summary

One embodiment of the present invention sets forth a technique for providing a L1 cache that is a central storage resource. The L1 cache services multiple clients with diverse latency and bandwidth requirements. The L1 cache may be reconfigured to create multiple storage spaces enabling the L1 cache may replace dedicated buffers, caches, and FIFOs in previous architectures. A "direct mapped" storage region that is configured within the L1 cache may replace dedicated buffers, FIFOs, and interface paths, allowing clients of the L1 cache to exchange attribute and primitive data. The direct mapped storage region may used as a global register file. A "local and global cache" storage region configured within the L1 cache may be used to support load/store memory requests to multiple spaces. These spaces include global, local, and call-return stack (CRS) memory.