USB Cache Management for Host Memory Latency Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In USB systems, the latency of host memory access negatively affects system performance due to the limited volume of caches and the large number of transfer rings, necessitating an efficient cache management mechanism to optimize data transfer.

Innovation Solution

A cache-management component that assigns and stores transfer request blocks (TRBs) to cache lines based on availability, either by identifying an empty cache line or designating a predetermined line, to improve cache utilization and reduce access latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If a cache is used to store TRBs to reduce host memory access latency, then system performance is improved, but the cache volume is limited and cannot accommodate all transfer rings

Engineering Contradiction:
Improvehost memory access latencyVSAvoidcache volume
Core Design Contradiction:
Loss of timeVSVolume of stationary object

Solution Approach 1:

The patent segments the cache into multiple cache lines, where each cache line can be independently assigned to different device endpoints. This segmentation allows the limited cache volume to be dynamically shared among multiple transfer rings, enabling efficient utilization of the constrained cache resource while maintaining low latency for multiple endpoints simultaneously.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic cache line assignment where cache lines are not permanently bound to specific device endpoints but are instead allocated on-demand based on current transfer needs. The host controller can assign and reassign cache lines to different endpoints as transfer rings become active or inactive, allowing the cache to adapt to varying workload patterns and maximize the utilization of limited cache volume.

Inventive Principle:
Principle #15Dynamics

2Productivity

If the cache stores TRBs for multiple device endpoints, then cache utilization is improved, but cache line assignment complexity increases

Engineering Contradiction:
Improvecache utilizationVSAvoidcache line assignment mechanism
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a self-service cache management mechanism where the host controller autonomously manages cache line assignment without requiring complex external control logic. The host controller monitors its own transfer ring status and automatically assigns cache lines to active endpoints and reclaims them when endpoints become inactive, simplifying the overall system architecture while maintaining high cache utilization.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent employs a discard and recover strategy for cache line management. When a device endpoint becomes inactive or its transfer ring is completed, the associated cache line is discarded from its current assignment and made available for recovery and reuse by other active endpoints. This approach maximizes cache utilization by ensuring that cache lines are continuously reused rather than remaining idle, while keeping the management mechanism relatively simple through automatic tracking of endpoint activity states.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentEP3005124B1Systems and methods for cache management of universal serial bus systems
Publication Date: 2019.11.20 MARVELL WORLD TRADE LTD
  • EP3005124B1 patent drawingFigure 1
  • EP3005124B1 patent drawingFigure 2
  • EP3005124B1 patent drawingFigure 3

AI summary

Systems and methods are provided for cache management. An example system includes a cache and a cache-management component. The cache includes a plurality of cache lines corresponding to a plurality of device endpoints, a device endpoint including a portion of a universal -serial-bus (USB) device. The cache-management component is configured to receive first transfer request blocks (TRBs) for data transfer involving a first device endpoint and determine whether a cache line in the cache is assigned to the first device endpoint. The cache-management component is further configured to, in response to no cache line in the cache being assigned to the first device endpoint, determine whether the cache includes an empty cache line that contains no valid TRBs, and in response to the cache including an empty cache line, assign the empty cache line to the first device endpoint and store the first TRBs to the empty cache line.