Directory-Based Cache Coherence for Ordered Parallel Writes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-core electronic systems, ordered writes to different targets can be completed out of order, and existing directory-based protocols ensure order only within their own slice of memory, necessitating serial completion of writes before proceeding, which is inefficient.

Innovation Solution

A directory-based method that involves acquiring early ownership of cache lines for writes in a multi-core electronic system, allowing parallel streaming of writes to multiple targets while maintaining ordered write observation, with a network-on-chip (NoC) facilitating this through initiator and target network interface units (NIUs) to manage cache coherence.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If writes are serialized through a single directory to ensure order, then cache coherence is maintained, but write throughput decreases due to serial processing

Engineering Contradiction:
Improvecache coherenceVSAvoidwrite throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system segments the directory functionality by distributing directories across multiple cores, with each directory managing a specific slice of memory addresses. This allows parallel write operations to different memory slices to proceed simultaneously without serializing through a single directory, thereby improving write throughput while maintaining cache coherence within each slice.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an initiator interface unit as an intermediary between the core and directories. This unit acquires ownership of cache lines on behalf of the core and manages the serialization of writes to multiple targets, allowing the core to issue writes in parallel while the intermediary ensures proper ordering and coherence through targeted directory communications.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If waits for writes to one target to finish before sending writes to next target, then write order is guaranteed, but latency increases

Engineering Contradiction:
Improvewrite order guaranteeVSAvoidwrite latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The initiator interface unit performs preliminary actions by acquiring ownership of cache lines for multiple targets in advance, before the actual write operations complete. This allows subsequent writes to be issued in parallel to multiple targets without waiting for previous writes to finish, reducing latency while maintaining order through the ownership mechanism.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system changes the dimension of ordering from sequential target-by-target processing to parallel processing across multiple targets with ownership-based serialization. Writes can be issued to multiple targets simultaneously in different dimensions of the memory space, with the initiator interface unit managing the ordering relationship across these parallel operations.

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

3Productivity

If each directory ensures order only within its own slice, then scalability improves, but global write order across different slices is lost

Engineering Contradiction:
Improvesystem scalabilityVSAvoidglobal write order
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The initiator interface unit serves multiple functions: it manages cache line ownership, serializes writes to multiple targets, and ensures global write order across different directory slices. This universal intermediary component coordinates across the distributed directory structure, maintaining both the scalability of individual directories and the global ordering requirement.

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

4Reliability

If a single directory is used for all memory addresses, then write ordering is maintained, but device complexity and bottleneck increase

Engineering Contradiction:
Improvewrite orderingVSAvoiddirectory structure complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The directory structure is segmented into multiple distributed directories, each managing a specific slice of memory addresses. This segmentation reduces the complexity and memory requirements of each individual directory while maintaining write ordering through the initiator interface unit that coordinates across slices and manages cache line ownership.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS12517829B1Processing writes to multiple targets in a directory-based cache coherent electronic system
Publication Date: 2026.01.06 ARTERIS INC
  • US12517829B1 patent drawing
  • US12517829B1 patent drawing
  • US12517829B1 patent drawing

AI summary

In a multi-core electronic system, a directory-based method of processing a request transaction includes, upon receipt of the request transaction, communicating with a plurality of directories to acquire ownership of cache lines to establish a single point of serialization. Write data is thereafter streamed to owned cache lines in at least two targets in parallel while keeping ordered write observation. The writes to the at least two targets are processed out of order but observed in order.