Non-blocking Cache Flush via Write-back Buffer Flagging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional processors experience unsatisfactory latency due to the waiting period associated with data write-backs during cache flush operations, which causes processor stalls and performance bottlenecks.

Innovation Solution

A non-blocking method for cache flush instructions is implemented, where data from a write-back data holding buffer is flagged with a processor identifier and serialization flag, allowing the processor to be notified prematurely of cache flush completion, thereby avoiding the need for a waiting period during write-backs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the processor waits for write-back completion during cache flush operations, then data consistency is maintained, but processor latency increases and performance deteriorates

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

Solution Approach 1:

The patent applies preliminary action by initiating the cache flush operation and allowing the processor to proceed without waiting for write-back completion. The system prepares the flush operation in advance, sends the flush command to the cache controller, and continues execution while the write-back happens in the background. This resolves the contradiction by maintaining data consistency through the flush mechanism while eliminating processor latency through non-blocking operation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses an intermediary approach by introducing a cache controller and buffer mechanism that mediates between the processor and main memory during cache flush operations. The cache controller manages the write-back process independently, allowing the processor to continue execution. This intermediary layer ensures data consistency is maintained while the processor is not stalled, effectively resolving the contradiction between reliability and time loss.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the processor is stalled during cache flush operations, then write-back completion is ensured, but system productivity decreases

Engineering Contradiction:
Improvewrite-back completionVSAvoidsystem throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements continuity of useful action by enabling the processor to continue executing instructions without interruption during cache flush operations. The flush operation proceeds in the background through the cache controller, while the processor maintains continuous productive work. This eliminates idle stall cycles and maintains system throughput while ensuring write-back completion through the buffered mechanism.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The cache controller acts as an intermediary that ensures write-back completion reliability without requiring processor stalling. It manages the buffered data and coordinates the write-back process to main memory independently, allowing the processor to maintain high productivity while the reliability of write-back completion is ensured by the intermediary control mechanism.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If cache resources are held during write-back operations, then data integrity is preserved, but cache utilization efficiency decreases

Engineering Contradiction:
Improvedata integrityVSAvoidcache utilization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies segmentation by separating the cache flush operation into distinct phases: the flush command issuance to the cache controller, the background write-back process through buffers, and the completion acknowledgment. This segmentation allows cache resources to be released and reused during the write-back process while data integrity is preserved through the controlled flush mechanism. The processor can access other cache lines while write-back of specific lines proceeds in the background.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The buffer and cache controller serve as intermediaries that preserve data integrity during write-back operations while enabling cache resource reuse. The buffered mechanism holds the data temporarily for integrity assurance, while the cache controller manages the write-back process independently, allowing other cache resources to be utilized efficiently. This resolves the contradiction between maintaining data integrity and improving cache utilization efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10585804B2Systems and methods for non-blocking implementation of cache flush instructions
Publication Date: 2020.03.10 INTEL CORP
  • US10585804B2 patent drawing
  • US10585804B2 patent drawing
  • US10585804B2 patent drawing

AI summary

Systems and methods for non-blocking implementation of cache flush instructions are disclosed. As a part of a method, data is accessed that is received in a write-back data holding buffer from a cache flushing operation, the data is flagged with a processor identifier and a serialization flag, and responsive to the flagging, the cache is notified that the cache flush is completed. Subsequent to the notifying, access is provided to data then present in the write-back data holding buffer to determine if data then present in the write-back data holding buffer is flagged.