Virtualized Shared System Cache Control for Mobile SoCs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In mobile systems-on-chip (SoCs), the management of shared system caches is hindered by the need for centralized control, leading to inefficiencies such as power collapse issues and increased overhead when the application processor subsystem (APSS) is inactive, as other subsystems cannot execute cache management commands independently.

Innovation Solution

Implementing a virtualized control system that allows individual SoC masters to directly manage component caches by providing a virtualized view of the control space and using component cache identifiers to bypass centralized control, enabling concurrent cache maintenance and status operations without relying on the APSS.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If centralized control through APSS is used to manage shared system cache, then cache management can be coordinated across all subsystems, but power consumption increases and latency is introduced when APSS is active, and other subsystems cannot manage cache independently when APSS is power collapsed

Engineering Contradiction:
ImproveIndependent cache management capabilityVSAvoidControl architecture complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent segments the centralized cache management functionality by introducing component cache identifiers (CCIDs) that allow individual subsystems to directly access and manage specific cache partitions. This segmentation enables the Video subsystem to independently manage its designated cache portion without requiring APSS intervention, thereby resolving the contradiction between independent operation capability and control architecture complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces CCID as an intermediary mechanism that bridges the gap between centralized cache control and independent subsystem management. The CCID acts as a virtual address or identifier that redirects cache maintenance commands directly to the appropriate cache partitions, eliminating the need for APSS as an intermediate controller while maintaining organized cache management.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If APSS manages all shared cache operations, then centralized coordination is achieved, but overhead increases due to extra software interaction

Engineering Contradiction:
ImproveCache management efficiencyVSAvoidSoftware interaction overhead
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent extracts the cache management functionality from the APSS software layer and transfers it to hardware-level direct access mechanisms. By enabling subsystems to issue cache maintenance commands directly using CCIDs, the patent removes the software interaction overhead that previously existed in the APSS management path, thereby improving cache management efficiency and reducing time loss.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent enables subsystems to serve their own cache management needs independently through direct hardware access using CCIDs. Instead of relying on APSS software to mediate all cache operations, each subsystem can autonomously perform cache maintenance tasks on its designated partitions, eliminating software interaction overhead and improving overall productivity.

Inventive Principle:
Principle #25Self-service

3Speed

If local memories are increased in size to improve performance, then faster access to frequently used data is achieved, but area and static power consumption increase

Engineering Contradiction:
ImproveData access speedVSAvoidCache memory area
Core Design Contradiction:
SpeedVSArea of stationary object

Solution Approach 1:

The patent merges previously distributed local memories into a unified shared system cache that is accessible by multiple subsystems. This consolidation reduces the total cache area required while maintaining fast access performance through direct subsystem access paths. The shared cache structure eliminates redundant memory resources while preserving speed through efficient address routing using CCIDs.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent creates a universal shared cache system that serves multiple subsystems (APSS, Video, Audio, etc.) simultaneously. This multi-functional cache structure replaces multiple dedicated local memories with a single resource that can be dynamically accessed by any active subsystem, reducing total area while maintaining the speed benefits of local cache access for all subsystems.

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

4Quantity of substance

If local memories are increased in size to improve performance, then cache capacity is increased, but static power consumption increases

Engineering Contradiction:
ImproveCache memory capacityVSAvoidStatic power consumption
Core Design Contradiction:
Quantity of substanceVSUse of energy by stationary object

Solution Approach 1:

The patent combines multiple subsystem-specific local memories into a single shared cache structure, reducing the total memory capacity required while maintaining adequate cache coverage for all subsystems. This merging reduces static power consumption by eliminating redundant memory circuits while preserving the quantity of usable cache space through efficient sharing among active subsystems.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent enables dynamic recovery of cache resources by allowing inactive subsystems to release their designated cache partitions for use by active subsystems. When the Video subsystem is inactive, its cache portion can be discarded or made available to other subsystems, reducing the effective cache capacity required at any given time and thereby reducing static power consumption while maintaining adequate capacity for active operations.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS10180908B2Method and apparatus for virtualized control of a shared system cache
Publication Date: 2019.01.15 QUALCOMM INC
  • US10180908B2 patent drawing
  • US10180908B2 patent drawing
  • US10180908B2 patent drawing

AI summary

Aspects include computing devices, systems, and methods for implementing a cache maintenance or status operation for a component cache of a system cache. A computing device may generate a component cache configuration table, assign at least one component cache indicator of a component cache to a master of the component cache, and map at least one control register to the component cache indicator by a centralized control entity. The computing device may store the component cache indicator such that the component cache indicator is accessible by the master of the component cache for discovering a virtualized view of the system cache and issuing a cache maintenance or status command for the component cache bypassing the centralized control entity. The computing device may receive the cache maintenance or status command by a control register associated with a cache maintenance or status command and the component cache bypassing the centralized control entity.