Multi-channel Cache Memory Address Routing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Processing apparatus face slower memory access speeds due to contention between parallel accesses and inherent limitations in memory storage access speed, necessitating efficient cache memory management to maintain coherency across multiple processing units.

Innovation Solution

A multi-channel cache memory system where each cache channel serves a unique portion of the memory address space, with arbitration circuitry routing memory access requests to the appropriate cache channel based on the memory address, ensuring parallel processing and independent allocation regardless of the processing unit's identity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If a shared cache memory unit with integrated crossbar is used to serve multiple processing units, then cache capacity is improved, but access speed deteriorates due to contention between parallel accesses

Engineering Contradiction:
Improvecache capacityVSAvoidaccess speed
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

The cache memory is divided into multiple independent cache channels, each serving a specific portion of the address space. This segmentation eliminates contention between parallel accesses by providing dedicated access paths, thereby maintaining high access speed while preserving total cache capacity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of address space partitioning by mapping different portions of the address space to different cache channels. This dimensional organization allows parallel processing units to access different cache channels simultaneously without interference, resolving the speed-capacity tradeoff.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Speed

If separate caches are allocated to each processing unit to eliminate contention, then access speed is improved, but device complexity increases due to multiple cache structures

Engineering Contradiction:
Improveaccess speedVSAvoidcache structure complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The cache memory structure serves multiple functions: it provides dedicated access paths for different processing units while maintaining a unified address space mapping. The same cache physical memory is accessed through different channels based on address portion, eliminating the need for completely separate cache structures for each processing unit.

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

Solution Approach 2:

The patent introduces an address routing mechanism that acts as an intermediary between processing units and cache memory. This mediator directs access requests to the appropriate cache channel based on the address portion, providing dedicated access without requiring physically separate cache structures for each processing unit.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If caches are physically separated for different processing units, then access independence is improved, but coherency maintenance becomes more difficult due to lack of isolation

Engineering Contradiction:
Improveaccess independenceVSAvoidcoherency management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies local quality by assigning specific portions of the address space to specific cache channels. This creates natural isolation zones where each cache channel independently manages its designated address space portion, providing both access independence and simplified coherency management through spatial separation of address ranges.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9892047B2Multi-channel cache memory
Publication Date: 2018.02.13 RPX CORP
  • US9892047B2 patent drawing
  • US9892047B2 patent drawing
  • US9892047B2 patent drawing

AI summary

A cache memory including: a plurality of parallel input ports configured to receive, in parallel, memory access requests wherein each parallel input port is operable to receive a memory access request for any one of a plurality of processing units; and a plurality of cache blocks wherein each cache block is configured to receive memory access requests from a unique one of the plurality of input ports such that there is a one-to-one mapping between the plurality of parallel input ports and the plurality of cache blocks and wherein each of the plurality of cache blocks is configured to serve a unique portion of an address space of the memory.