Multi-port Shared Cache Controller for Telecommunications Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In communication systems with multiple clients, shared memory access leads to inefficiencies due to localized memory areas, increased power consumption, and complexity, as well as issues with data coherency and cache thrashing, especially when external memory access times are high and spatial coherency is compromised.

Innovation Solution

A centralized multi-port memory controller with a cache-based approach that allocates cache lines dynamically among clients using a modified line replacement policy (MLRU), allowing clients to access a shared coherent on-chip RAM space and maintaining a pool of free cache lines for efficient data management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If a centralized multi-port memory controller with cache is used to provide direct access to clients, then access speed and system throughput are improved, but cache management complexity and power consumption increase due to multi-port access conflicts and spatial coherency loss

Engineering Contradiction:
Improvememory access speedVSAvoidcache management complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent segments the cache memory into client-specific regions, where each client is allocated a dedicated portion of the cache. This segmentation allows each client to access its own cache region without interfering with other clients, thereby maintaining fast access speeds while reducing cache management complexity in multi-port scenarios.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a cache controller as an intermediary between the memory controller and clients. This intermediary manages the cache regions, handles allocation, and coordinates access between multiple clients, thereby reducing the complexity of direct multi-port cache management while maintaining high access speeds.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of time

If localized memory areas are allocated inside each client for burst access, then access time is reduced to 1 clock, but power and area are wasted due to inability to share memory among multiple clients

Engineering Contradiction:
Improveaccess timeVSAvoidpower consumption
Core Design Contradiction:
Loss of timeVSUse of energy by moving object

Solution Approach 1:

The patent merges the cache memory into a shared resource that is common to all clients, rather than having separate localized memory areas. This merging allows multiple clients to share the same cache space, eliminating redundant memory structures and reducing overall power consumption while maintaining fast access times through the centralized cache controller.

Inventive Principle:
Principle #5Merging (Combining)

3Quantity of substance

If external memory is used to reduce physical memory size and cost, then memory size requirement is reduced, but access time increases to 20-30 clocks and spatial coherency is compromised

Engineering Contradiction:
Improvememory sizeVSAvoidaccess speed
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

The patent implements a nested memory hierarchy where a small on-chip cache memory is nested within the larger external memory system. The cache provides fast access for frequently used data (1 clock access), while the external memory provides the larger storage capacity (20-30 clock access). This nesting allows the system to maintain both small footprint and fast access for critical data.

Inventive Principle:
Principle #7Nested doll (Nesting)

4Productivity

If multi-port cache allocation is used without maximum limits, then cache utilization is maximized, but cache thrashing increases and system latency increases due to unlimited client access conflicts

Engineering Contradiction:
Improvecache utilizationVSAvoidsystem latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies different quality characteristics to different parts of the cache management system. Each client is assigned a specific maximum cache allocation limit, creating localized control over cache usage. This local quality approach prevents any single client from monopolizing the cache, reducing cache thrashing and latency while maintaining high overall utilization through fair distribution.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10496550B2Multi-port shared cache apparatus
Publication Date: 2019.12.03 MALIKIE INNOVATIONS LTD
  • US10496550B2 patent drawing
  • US10496550B2 patent drawing
  • US10496550B2 patent drawing

AI summary

An apparatus for use in telecommunications system comprises a cache memory shared by multiple clients and a controller for controlling the shared cache memory. A method of controlling the cache operation in a shared cache memory apparatus is also disclosed. The apparatus comprises a cache memory accessible by a plurality of clients and a controller configured to allocate cache lines of the cache memory to each client according to a line configuration. The line configuration comprises, for each client, a maximum allocation of cache lines that each client is permitted to access. The controller is configured to, in response to a memory request from one of the plurality of clients that has reached its maximum allocation of cache lines, allocate a replacement cache line to the client from cache lines already allocated to the client when no free cache lines in the cache are available.