Persistent Memory Cache-Line Tagging for Power-Fail Flush

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing integrated circuit systems face challenges in efficiently handling power loss events, particularly in maintaining data integrity for persistent memory during flush operations due to the lack of distinction between persistent and volatile memory cache lines, leading to potential data loss and increased processing delays.

Innovation Solution

Implementing a system that tags cache lines to distinguish between persistent and volatile memory, allowing selective commitment of cache lines to persistent memory during power failures, utilizing a battery backup to provide sufficient power for flushing these tagged lines, and gracefully completing untagged volatile memory lines.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If all cache lines are flushed to persistent memory during power failure events, then data integrity is maintained, but processing delays increase and power consumption rises

Engineering Contradiction:
Improvedata integrityVSAvoidprocessing delays
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments cache lines into two distinct categories: persistent cache lines (destined for persistent memory) and volatile cache lines (destined for volatile memory). This segmentation is achieved through tagging mechanisms that mark cache lines based on their destination memory type. During power failure events, only persistent cache lines are flushed to persistent memory, while volatile cache lines are discarded. This selective flushing approach maintains data integrity for persistent data while significantly reducing processing delays and power consumption compared to flushing all cache lines.

Inventive Principle:
Principle #1Segmentation

2Reliability

If all cache lines are flushed during power failure events, then data loss is prevented, but power consumption increases requiring larger battery backups

Engineering Contradiction:
Improvedata integrityVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent divides cache lines into persistent and volatile segments using tagging mechanisms. Persistent cache lines are marked with specific tags indicating they must be flushed to persistent memory to maintain data integrity. Volatile cache lines are marked differently and can be discarded during power failures. This segmentation enables the system to flush only the necessary persistent cache lines during power failure events, significantly reducing power consumption compared to flushing all cache lines, thereby allowing for smaller, more cost-effective battery backups.

Inventive Principle:
Principle #1Segmentation

3Productivity

If distinction between persistent and volatile cache lines is implemented, then selective flushing is enabled, but system complexity increases

Engineering Contradiction:
Improveflush operation efficiencyVSAvoidmemory hierarchy complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent extracts the distinction between persistent and volatile cache lines by introducing tags into the memory hierarchy. These tags are metadata indicators attached to cache lines that identify their destination memory type. The tagging mechanism is integrated into existing cache control structures, allowing the system to identify and selectively flush persistent cache lines during power failure events without requiring a complete redesign of the memory hierarchy. This approach enables efficient selective flushing while minimizing increases in system complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

4Ease of operation

If DMA operations are used for memory communication, then data transfer is enabled, but power consumption and time cost increase

Engineering Contradiction:
Improvememory communication capabilityVSAvoidpower consumption
Core Design Contradiction:
Ease of operationVSUse of energy by moving object

Solution Approach 1:

The patent implements preliminary actions by tagging cache lines with their destination memory type (persistent or volatile) before power failure events occur. This tagging is done during normal operation when power is available and the system is functioning normally. When a power failure event occurs, the system can immediately identify which cache lines need to be flushed based on pre-established tags, eliminating the need for complex real-time decisions or expensive DMA operations for all cache lines. This preliminary classification enables efficient selective flushing with minimal power consumption during critical failure events.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP4020235B1Flushing cache lines involving persistent memory
Publication Date: 2026.01.07 ALTERA CORP
  • EP4020235B1 patent drawingFigure 1
  • EP4020235B1 patent drawingFigure 2
  • EP4020235B1 patent drawingFigure 3

AI summary

A method includes receiving, via a communication link and at a device of an integrated circuit system, a cache line comprising a destination address, determining, via the device, a type of memory or storage associated with the destination address, the type of memory or storage comprising persistent or non-persistent, and tagging the cache line with metadata in a manner indicating the type of memory or storage associated with the destination address.