Cache Line Invalidation for Reduced Memory Write Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In modern computer systems with distributed cache memories, the existing cache coherency protocols require writers to complete bulk transfers before readers can access data, leading to increased latency and missed opportunities for parallel processing.

Innovation Solution

The system allows readers to access cache lines that have already been written by the writer while the writer is still completing the bulk transfer, by prefetching sole ownership of cache lines and relinquishing control to the reader as soon as the data is written, enabling parallelization of reading and writing operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the writer completes all bulk transfers before the reader can access data, then data consistency is maintained, but the observed latency increases and parallel processing opportunities are lost

Engineering Contradiction:
Improvedata consistencyVSAvoidobserved latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary invalidation of cache lines before the bulk transfer is complete. The writer invalidates individual cache lines as they are written, allowing readers to access them sooner without waiting for the entire bulk transfer to complete. This preliminary action on individual cache lines resolves the contradiction by enabling early reader access while maintaining consistency through controlled invalidation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The bulk transfer operation is segmented into individual cache line operations. Instead of treating the bulk transfer as a single atomic operation that must complete before reader access, the system processes and invalidates cache lines individually. This segmentation allows readers to access completed cache lines while the writer continues processing remaining cache lines, reducing observed latency while maintaining data consistency through selective invalidation.

Inventive Principle:
Principle #1Segmentation

2Reliability

If the writer waits for all writes to complete before notifying the reader, then data integrity is ensured, but productivity decreases due to serialization of operations

Engineering Contradiction:
Improvedata integrityVSAvoidoperation throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The writer performs preliminary invalidation of cache lines as they are completed, rather than waiting for all writes to finish. This allows readers to begin accessing data earlier in the transfer process, enabling parallel processing between writer and reader operations. Data integrity is maintained through the invalidation mechanism that prevents readers from accessing stale data.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system enables continuous useful action by allowing the reader to operate in parallel with the writer. As the writer completes individual cache line writes and invalidates them, the reader can continuously access and process the invalidated cache lines without idle waiting periods. This continuity eliminates serialization delays and improves overall operation throughput while maintaining data integrity through controlled invalidation.

Inventive Principle:
Principle #20Continuity of useful action

3Stability of the object's composition

If the system enforces strict ordering of operations, then coherence is maintained, but the critical path latency increases beyond minimums

Engineering Contradiction:
Improvecache coherenceVSAvoidcritical path latency
Core Design Contradiction:
Stability of the object's compositionVSLoss of time

Solution Approach 1:

The system segments the bulk transfer into individual cache line operations with independent invalidation. Instead of enforcing a single strict ordering for the entire bulk transfer, each cache line can be invalidated and made accessible to readers independently as soon as its write is complete. This segmentation maintains cache coherence through individual invalidation while reducing critical path latency by eliminating unnecessary serialization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system introduces dynamic behavior where the coherence protocol adapts to the actual state of cache line writes. Rather than following a static, predetermined ordering, the writer dynamically invalidates cache lines as they become ready, allowing readers to access them in real-time. This dynamic approach maintains coherence while minimizing latency by responding to actual write completion events rather than following a rigid sequence.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10915447B1Systems, devices, and methods for reduced critical path latency and increased work parallelization in memory writes
Publication Date: 2021.02.09 STONE CREEK NETWORKS INC
  • US10915447B1 patent drawing
  • US10915447B1 patent drawing
  • US10915447B1 patent drawing

AI summary

A system including: a reader; a writer; and a shared memory shared by the reader and the writer, wherein the writer is configured to: specify, in the shared memory, first and second cache lines as unsafe to read; prefetch sole ownership of the first and second cache lines; specify, after the prefetching, that the first and second prefetched cache lines are safe to read; write data to the first prefetched cache line in the shared memory; and in response to completing writing data to the first prefetched cache, relinquish control of the first prefetched cache line to a reader.