Cache Memory Segmentation for Dual-Path Access Arbitration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current cache memory systems in computer systems face inefficiencies in accessing frequently used data, leading to increased processing times for tasks like interrupt service routines and high-speed communication, as frequently used information may be evicted and retrieved from slower system memories.

Innovation Solution

A cache memory circuit is configured to store cache lines in multiple regions, allowing a control circuit to arbitrate access between processor core requests and functional circuit requests, allocating a portion as cache memory and another as memory-mapped RAM, enabling faster access and retention of frequently used data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If cache memory is used to store frequently accessed data, then access time is reduced, but cache memory capacity is limited and frequently used information may be evicted

Engineering Contradiction:
Improveaccess timeVSAvoidcache memory capacity
Core Design Contradiction:
Loss of timeVSQuantity of substance

Solution Approach 1:

The cache memory is divided into multiple regions (first region, second region, third region) with different access paths. The first region is accessible via both the first access path (fast) and second access path (slower), while the second and third regions are accessible only via the second access path. This segmentation allows frequently accessed data to be placed in the first region for fast access, while maintaining additional storage capacity in the second and third regions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The first region of the cache memory serves dual purposes: it functions as both cache memory (accessible via the first access path for fast processor core access) and as system memory (accessible via the second access path for broader system access). This multi-functionality effectively increases the usable cache capacity without requiring additional physical memory resources.

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

2Speed

If cache memory is physically located closer to processor core with different access path, then access speed is improved, but system complexity increases due to multiple access paths and regions

Engineering Contradiction:
Improveaccess speedVSAvoidaccess path complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The cache memory is segmented into multiple regions with different access characteristics. The first region has dual access paths while the second and third regions have a single access path. This segmentation allows the system to manage complexity by having simple single-path regions for less frequently accessed data and a more complex dual-path first region for frequently accessed data that needs both fast and system-wide access.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically manages data placement and access based on usage patterns. The control circuit determines whether to access the first region via the fast first access path or the slower second access path based on the specific memory access request, allowing flexible adaptation to different access scenarios and optimizing performance while managing complexity.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10922232B1Using cache memory as RAM with external access support
Publication Date: 2021.02.16 APPLE INC
  • US10922232B1 patent drawing
  • US10922232B1 patent drawing
  • US10922232B1 patent drawing

AI summary

An apparatus includes a control circuit and a cache memory with a plurality of regions. The control circuit receives a first and a second access request to access the cache memory. In response to determining that the first access request is from a particular processor core, and that the first access request is associated with a particular cache line in the cache memory, the control circuit stores the first access request in a cache access queue. In response to a determination that the second access request is received from a functional circuit, and that the second access request is associated with a range of a memory address space mapped to a subset of the plurality of regions, the control circuit stores the second access request in a memory access queue. The control circuit arbitrates access to the cache memory circuit between the first access request and the second access request.