Zero-Size L2 Cache Controller Logic for Memory Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Computing systems face challenges in efficiently supporting a cache memory hierarchy, particularly when a zero-size cache is used in a level of the hierarchy, as it requires innovative mechanisms to manage memory access requests and data retrieval without storing data in non-existent caches, while maintaining system performance and reducing power consumption.

Innovation Solution

The implementation of a cache memory hierarchy with a level-one (L1) cache directly connected to the processor, a level-two (L2) cache controller that determines cacheability, and an option for level-three (L3) cache or system memory, where the L2 cache controller handles miss requests by retrieving data from L1 or lower-level memory, merging data for store operations, and preventing cache storage of non-cacheable data, ensuring efficient data transfer without relying on a physical L2 cache.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Area of stationary object

If an L2 cache is excluded from the computing system, then on-die area is reduced and power consumption is decreased, but the processor cannot support systems that require an L2 cache

Engineering Contradiction:
Improveon-die areaVSAvoidprocessor compatibility
Core Design Contradiction:
Area of stationary objectVSAdaptability or versatility

Solution Approach 1:

The L2 cache controller is designed to perform multiple functions: it can operate as a traditional L2 cache controller when an L2 cache is present, and as a direct memory access controller when an L2 cache is absent. This multi-functionality allows the same hardware to support both configurations, resolving the contradiction between area reduction and adaptability.

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

Solution Approach 2:

The system dynamically adapts its behavior based on the presence or absence of an L2 cache. The L2 cache controller detects whether it is connected to an actual L2 cache or directly to memory and adjusts its operation accordingly. This dynamic behavior enables the processor to work with or without an L2 cache, maintaining versatility while allowing area optimization.

Inventive Principle:
Principle #15Dynamics

2Use of energy by moving object

If an L2 cache is excluded from the computing system, then power consumption is decreased, but memory access performance may be degraded

Engineering Contradiction:
Improvepower consumptionVSAvoidmemory access performance
Core Design Contradiction:
Use of energy by moving objectVSProductivity

Solution Approach 1:

The L2 cache memory structure is extracted from the system, but the L2 cache controller functionality is retained. This allows the system to eliminate the power-hungry L2 cache memory while preserving the intelligent memory management capabilities of the controller, achieving power savings without severe performance degradation.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The L2 cache controller acts as an intermediary between the L1 cache and the L3 cache or system memory. It manages memory access requests, performs address translation, and coordinates data transfer, providing efficient memory access performance even without an L2 cache present in the hierarchy.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If a zero size L2 cache is used, then the system can support both configurations, but the L2 cache controller must manage complex logic to determine cacheability and handle miss requests

Engineering Contradiction:
Improveconfiguration flexibilityVSAvoidcontroller logic complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The L2 cache controller performs preliminary actions by pre-fetching data and pre-managing address translation before actual memory access requests occur. It also pre-determines cacheability attributes and prepares miss request handling, reducing the complexity of real-time decision-making and streamlining the overall control logic.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10909035B2Processing memory accesses while supporting a zero size cache in a cache hierarchy
Publication Date: 2021.02.02 APPLE INC
  • US10909035B2 patent drawing
  • US10909035B2 patent drawing
  • US10909035B2 patent drawing

AI summary

A system and method for efficiently supporting a cache memory hierarchy potentially using a zero size cache in a level of the hierarchy. In various embodiments, logic in a lower-level cache controller or elsewhere receives a miss request from an upper-level cache controller. When the requested data is non-cacheable, the logic sends a snoop request with an address of the memory access operation to the upper-level cache controller to determine whether the requested data is in the upper-level data cache. When the snoop response indicates a miss or the requested data is cacheable, the logic retrieves the requested data from memory. When the snoop response indicates a hit, the logic retrieves the requested data from the upper-level cache. The logic completes servicing the memory access operation while preventing cache storage of the received requested data in a cache at a same level of the cache memory hierarchy as the logic.