Decoupled Cache Control Paths for Parallel Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional cache pipeline architectures face challenges in managing complex cache protocols, especially in multiprocessor systems, due to coupled datapaths that require significant resources and are inflexible for changes, leading to issues like cache coherency management and the inability to support advanced operations like atomic operations and vector arithmetic efficiently.

Innovation Solution

The implementation of a cache memory with decoupled control paths, featuring a schedule module, control modules, and an output module that allows for parallel execution of requests through separate control paths, reducing resource contention and enabling more flexible management of cache operations without the need for duplicating expensive datapaths.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional cache pipeline architectures use coupled datapaths to manage complex cache protocols, then cache coherency management is achieved, but resource consumption increases and flexibility decreases

Engineering Contradiction:
Improvecache coherency managementVSAvoidresource consumption
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The cache controller is segmented into multiple independent control paths, each capable of handling specific cache protocol operations. This segmentation allows parallel processing of multiple requests while reducing the complexity of individual control paths, thereby improving cache coherency management without proportionally increasing resource consumption.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a temporal dimension to cache management by implementing sequential access to shared datapaths across multiple control paths. Different control paths can access the same datapath at different time slots, enabling efficient resource utilization while maintaining the ability to manage complex cache protocols through multiple independent control entities.

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

2Productivity

If conventional cache architectures duplicate datapaths to support parallel operations, then processing capacity increases, but resource consumption and cost increase significantly

Engineering Contradiction:
Improveparallel processing capacityVSAvoidresource consumption
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

Multiple control paths are merged to share common datapaths and functional units. Instead of duplicating expensive datapath resources for each control path, the patent enables multiple control paths to time-multiplex access to shared datapaths, achieving parallel processing capacity while significantly reducing resource consumption.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The shared datapaths are designed to be universal and multi-functional, capable of handling different types of cache operations (reads, writes, invalidations) for multiple cache ways. This universality allows a single datapath to serve multiple control paths and operation types, reducing the need for specialized duplicated resources.

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

3Stability of the object's composition

If conventional cache pipelines use coupled control paths, then cache operations are coordinated, but adaptability to changes and support for advanced operations is limited

Engineering Contradiction:
Improvecache operation coordinationVSAvoidsupport for advanced operations
Core Design Contradiction:
Stability of the object's compositionVSAdaptability or versatility

Solution Approach 1:

The control logic is segmented into independent control paths that can be individually configured and modified. This segmentation enables the addition of advanced operations like atomic operations and vector arithmetic by extending individual control paths without disrupting the overall cache operation coordination established by the modular architecture.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS12066936B1Cache memory with decoupled control paths
Publication Date: 2024.08.20 INTEL OVERSEAS FUNDING CORP
  • US12066936B1 patent drawing
  • US12066936B1 patent drawing
  • US12066936B1 patent drawing

AI summary

An example cache memory includes a schedule module, control modules, a datapath, and an output module. The cache memory receives requests to read and/or write cache lines. The schedule module maintains a queue of the requests. The schedule module may assign the requests to the control modules based on the queue. A control module, which receives a request, controls the datapath to execute the request, i.e., to read or write the cache line. The control module can control the execution by the datapath from start to end. Multiple control modules may control parallel executions by the datapath. The output module outputs, e.g., to a processor, responses of the cache memory to the requests after the executions. A response may include a cache line. The cache memory may include a buffer that temporarily stores cache lines before the output to avoid deadlock in the datapath during the parallel executions of requests.