Fabric Controller Persistent Flush Mode Selection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Computer systems face data loss during power outages or resets due to inadequate time to flush modified data from caches to persistent memory, especially in systems with complex data fabrics and varying latency tolerances.

Innovation Solution

A fabric controller selects between basic and global persistent flush modes based on available latency, using hardware for global flushes when sufficient and software for basic flushes when time is limited, to ensure data visibility and durability without system disruption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a global persistent flush mode is used to flush all modified data from caches to persistent memory, then data durability and visibility are improved, but the flushing latency increases and may exceed available time during terminal events

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

Solution Approach 1:

The patent segments the flush operation into two distinct modes: global persistent flush mode (flushing all modified data from all caches across the data fabric) and basic persistent flush mode (flushing only locally available modified data). This segmentation allows the system to select the appropriate flush scope based on available latency, thereby resolving the contradiction between comprehensive data durability and acceptable flushing time.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces dynamic mode selection between global and basic persistent flush modes based on real-time assessment of available latency. The fabric controller dynamically determines which mode to operate in by comparing predicted global flush latency against available latency, enabling adaptive optimization that balances data durability requirements with time constraints during terminal events.

Inventive Principle:
Principle #15Dynamics

2Reliability

If the system uses hardware-controlled global flush operations, then data visibility and durability are improved, but the device complexity and control overhead increase

Engineering Contradiction:
Improvedata visibilityVSAvoidcontrol overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a fabric controller as an intermediary component that manages the complexity of global flush operations. This mediator assesses available latency, predicts global flush latency, and selects between global and basic persistent flush modes, thereby centralizing control logic and reducing the complexity burden on individual caches and processing elements within the data fabric.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements a feedback mechanism where the fabric controller continuously monitors system state (available latency) and adjusts flush mode selection accordingly. The controller receives feedback about terminal events and latency conditions, then dynamically switches between global and basic persistent flush modes to optimize data visibility while managing control overhead through intelligent decision-making.

Inventive Principle:
Principle #23Feedback

3Adaptability or versatility

If the system switches between different flush modes dynamically, then adaptability to changing conditions is improved, but the complexity of mode selection and control logic increases

Engineering Contradiction:
Improveadaptability to latency conditionsVSAvoidmode selection logic
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent enables the system to self-adjust between global and basic persistent flush modes through automated latency assessment and mode selection performed by the fabric controller. The system monitors its own state (available latency, terminal events) and autonomously selects the appropriate flush mode without external intervention, thereby improving adaptability while containing complexity within the controller's decision-making logic.

Inventive Principle:
Principle #25Self-service

4Loss of time

If a basic persistent flush mode is used to reduce flushing latency, then response time during terminal events is improved, but data durability and visibility may be compromised

Engineering Contradiction:
Improveresponse timeVSAvoiddata durability
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The patent applies partial action by implementing a basic persistent flush mode that flushes only the subset of modified data locally available at the time of the terminal event, rather than attempting to flush all modified data across the entire data fabric. This partial flush ensures timely response by salvaging what can be saved quickly, while accepting that some data may not be durable if the global flush cannot complete in time.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11966339B1Selecting between basic and global persistent flush modes
Publication Date: 2024.04.23 ADVANCED MICRO DEVICES INC
  • US11966339B1 patent drawing
  • US11966339B1 patent drawing
  • US11966339B1 patent drawing

AI summary

Selecting between basic and global persistent flush modes is described. In accordance with the described techniques, a system includes a data fabric in electronic communication with at least one cache and a controller configured to select between operating in a global persistent flush mode and a basic persistent flush mode based on an available flushing latency of the system, control the at least one cache to flush dirty data to the data fabric in response to a flush event trigger while operating in the global persistent flush mode, and transmit a signal to switch control to an application to flush the dirty data from the at least one cache to the data fabric while operating in the basic persistent flush mode.