Fabric Bridge Write Acknowledgment for Memory Ordering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computing systems with mixed posted and non-posted memory hierarchies, processors face issues with write ordering and acknowledgement delays, leading to potential errors and excessive logic/storage requirements for tracking outstanding writes.

Innovation Solution

Converting the interface between the processor and fabric bridge from a non-posting to a posting interface, where the fabric bridge acknowledges write acceptance rather than persistence, allowing for improved write throughput and introducing a checkpoint sequence using a high-speed register read to ensure write ordering.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the processor waits for write persistence acknowledgements before issuing subsequent writes, then write ordering is maintained, but write throughput decreases and processor productivity is reduced

Engineering Contradiction:
Improvewrite orderingVSAvoidwrite throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the write acknowledgment process into two distinct types: acceptance acknowledgments (indicating the fabric bridge has received and queued the write) and persistence acknowledgments (indicating the write has been fully persisted to non-volatile storage). This segmentation allows the processor to receive rapid acceptance acknowledgments and continue issuing writes, while persistence is tracked separately for ordering purposes, thereby resolving the contradiction between maintaining write ordering and improving write throughput

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a fabric bridge as an intermediary component between the processor and the non-volatile storage media. The fabric bridge accepts writes from the processor, queues them, and manages persistence to storage independently. This intermediary allows the processor to decouple from waiting for persistence acknowledgments, improving throughput while the fabric bridge ensures proper ordering is maintained through its internal queuing mechanism

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the processor tracks each outstanding write until persistence, then write ordering is ensured, but logic and storage requirements become prohibitively large

Engineering Contradiction:
Improvewrite orderingVSAvoidtracking logic
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the complex tracking and persistence management functionality from the processor and relocates it to the fabric bridge. The fabric bridge assumes responsibility for tracking outstanding writes, managing persistence queues, and generating persistence acknowledgments. This extraction simplifies the processor's logic requirements while maintaining write ordering guarantees, as the fabric bridge handles the cumbersome tracking tasks independently

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If the interface uses non-posting protocol, then write persistence can be confirmed, but write bandwidth is limited and system efficiency decreases

Engineering Contradiction:
Improvewrite persistence confirmationVSAvoidwrite bandwidth
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent introduces dynamic behavior to the write interface by implementing a posting protocol where the fabric bridge proactively pushes acceptance acknowledgments back to the processor as soon as writes are received and queued. This dynamic acknowledgment mechanism allows the processor to maintain a continuous stream of write operations without waiting for persistence confirmations, thereby increasing write bandwidth while still ensuring persistence through the fabric bridge's internal tracking

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10691348B2Issuing write requests to a fabric
Publication Date: 2020.06.23 HEWLETT PACKARD ENTERPRISE DEV LP
  • US10691348B2 patent drawing
  • US10691348B2 patent drawing
  • US10691348B2 patent drawing

AI summary

A system comprises a processor, a memory fabric, and a fabric bridge coupled to the memory fabric and the processor. The fabric bridge may receive, from the processor a first eviction request comprising first eviction data, transmit, to the processor, a message indicating the fabric bridge has accepted the first eviction request, transmit a first write comprising the first eviction data to the fabric, receive, from the processor, a second eviction request comprising second eviction data, and transmit a second write comprising the second eviction data to the fabric. Responsive to transmitting the second write request, the fabric bridge may transmit, to the processor, a message indicating the fabric bridge accepted the second eviction request, determine that the first write and the second write have persisted, and transmit, to the processor, a notification to the processor responsive to determining that the first write and the second write have persisted.