Concurrent Dirty Bit Access in Associative Cache

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional cache flushing and rinsing processes are inefficient due to serial access methods, which slow down the process of writing back dirty cache lines to main memory, especially in n-way associative caches where only one address can be probed at a time.

Innovation Solution

Implementing a system that allows concurrent or parallel access to dirty bits associated with multiple ways of a cache index, enabling simultaneous reading and writing of dirty bits, particularly in n-way associative caches using flip-flops or memory arrays with multiple ports, thereby speeding up the flush and rinse operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If serial access methods are used to probe cache ways, then device complexity is reduced, but productivity of cache flushing and rinsing operations deteriorates

Engineering Contradiction:
Improvecache flushing and rinsing operation speedVSAvoidaccess circuit complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The cache ways are divided into multiple groups, with each group assigned to a separate port. This segmentation allows parallel access to multiple ways simultaneously through different ports, increasing flushing and rinsing productivity without requiring a completely new access architecture.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of parallelism by adding multiple access ports to the cache structure. Instead of improving serial access speed, the solution moves to parallel access across multiple ports, each handling a subset of cache ways, thereby achieving n-times speedup for n-way associative caches.

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

2Loss of time

If serial access methods are used to probe cache ways, then device complexity is reduced, but loss of time in cache operations increases

Engineering Contradiction:
Improvecache operation latencyVSAvoidaccess circuit complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

Cache ways are segmented into groups assigned to different ports, enabling simultaneous probing of multiple ways. This reduces the time required to identify dirty lines from O(n) sequential probes to O(1) parallel probes, significantly reducing cache operation latency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary parallel probing of all cache way groups to identify dirty lines before initiating the flush or rinse operation. This preliminary identification step, executed concurrently across all ports, eliminates sequential search delays and prepares the system for efficient dirty line handling.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If concurrent access to dirty bits is implemented, then productivity of cache operations improves, but device complexity increases

Engineering Contradiction:
Improvedirty bit access speedVSAvoidcircuit complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The dirty bit storage is segmented into multiple groups, with each group accessible through a separate port. This allows concurrent reading of dirty bits from different cache way groups simultaneously, improving dirty bit access productivity while keeping each port's circuit complexity manageable.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each port is designed with universal functionality to handle both data access and dirty bit reading operations. This multi-functionality allows the same port infrastructure to serve multiple purposes, improving productivity without proportionally increasing overall circuit complexity.

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

Data Source

PatentUS9940247B2Concurrent access to cache dirty bits
Publication Date: 2018.04.10 ADVANCED MICRO DEVICES INC
  • US9940247B2 patent drawing
  • US9940247B2 patent drawing
  • US9940247B2 patent drawing

AI summary

The present application describes embodiments of a method and apparatus for concurrently accessing dirty bits in a cache. One embodiment of the apparatus includes a cache configurable to store a plurality of lines. The lines are grouped into a plurality of subsets the plurality of lines. This embodiment of the apparatus also includes a plurality of dirty bits associated with the plurality of lines and first circuitry configurable to concurrently access the plurality of dirty bits associated with at least one of the plurality of subsets of lines.