Memory Interconnect Write Transaction Coherence via Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In data processing systems with shared memory and transaction masters, maintaining data coherence across local caches and shared memory is challenging, leading to potential inconsistencies and the need for stalling or buffering write transactions to ensure correct ordering, which increases storage requirements and delays.

Innovation Solution

The implementation of write control circuitry and serialisation circuitry that allows write transactions to proceed in what would be considered an incorrect order by storing portion data identifying written portions and preventing overwrites, while serialisation circuitry stalls transactions until cache invalidation and write transactions are completed, avoiding the need for buffering and stalling.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If write transactions are stalled or buffered to ensure correct ordering, then data coherence is maintained, but storage requirements increase and transaction delays occur

Engineering Contradiction:
Improvedata coherenceVSAvoidstorage requirements
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The write transaction is segmented into two independent operations: (1) sending the write transaction to shared memory without waiting for cache invalidation, and (2) separately invalidating the cache line. This segmentation allows the write to proceed without buffering while maintaining coherence through the separate invalidation operation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The cache invalidation is performed as a preliminary action before the write transaction is sent to shared memory. By invalidating the cache line first, the system ensures that no stale data can overwrite the new write data, eliminating the need for buffering while maintaining coherence.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If write transactions are stalled or buffered to ensure correct ordering, then data coherence is maintained, but transaction processing time increases

Engineering Contradiction:
Improvedata coherenceVSAvoidtransaction processing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The write transaction is segmented into two independent operations: (1) sending the write transaction to shared memory without waiting for cache invalidation, and (2) separately invalidating the cache line. This segmentation allows the write to proceed without buffering while maintaining coherence through the separate invalidation operation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The cache invalidation is performed as a preliminary action before the write transaction is sent to shared memory. By invalidating the cache line first, the system ensures that no stale data can overwrite the new write data, eliminating the need for buffering while maintaining coherence.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If local cache memories are provided to increase access speed, then transaction efficiency improves, but data coherence management complexity increases

Engineering Contradiction:
Improvetransaction efficiencyVSAvoidcoherence management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The coherence management function is extracted from the write transaction path and implemented as a separate, independent operation. Instead of buffering writes to maintain coherence, the system extracts the invalidation operation and performs it separately, simplifying the write path while maintaining coherence.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system uses feedback from the cache invalidation operation to ensure coherence. After invalidating the cache line, the system waits for the invalidation to complete before allowing subsequent reads, ensuring that all transactions see consistent data without complex buffering mechanisms.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9015424B2Write transaction management within a memory interconnect
Publication Date: 2015.04.21 ARM LTD
  • US9015424B2 patent drawing
  • US9015424B2 patent drawing
  • US9015424B2 patent drawing

AI summary

A memory interconnect between transaction masters and a shared memory. A first snoop request is sent to other transaction masters to trigger them to invalidate any local copy of that data they may hold and for them to return any cached line of data corresponding to the write line of data that is dirty. A first write transaction is sent to the shared memory. When and if any cached line of data is received from the further transaction masters, then the portion data is used to form a second write transaction which is sent to the shared memory and writes the remaining portions of the cached line of data which were not written by the first write transaction in to the shared memory. The serialization circuitry stalls any transaction requests to the write line of data until the first write transaction.