Asynchronous Cache Controller for Persistent Memory Write-Back

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data processing systems face performance issues due to the inefficiencies of synchronous memory interfaces when interacting with slower persistent memories, as they require OS intervention and stalling of CPU operations, which are not suitable for asynchronous operations.

Innovation Solution

A hardware mechanism is introduced that allows asynchronous store operations by decoupling the completion of store operations to volatile memory, persistent memory, or disk storage through a notification scheme in conjunction with in-cache logging, enabling user-level applications to perform non-blocking write operations without OS intervention.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If synchronous memory interface is used for persistent memory operations, then data integrity is ensured, but CPU performance deteriorates due to stalling and OS intervention

Engineering Contradiction:
Improvedata integrityVSAvoidCPU performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the memory interface operations by creating separate paths: synchronous operations for data integrity and asynchronous operations for performance. The cache controller divides memory operations into blocks that can be processed asynchronously, allowing the CPU to continue execution while memory operations complete in the background.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The cache controller acts as an intermediary between the CPU and persistent memory, managing the complexity of asynchronous operations. It handles block management, completion tracking, and notification mechanisms, shielding the CPU from the complexity while enabling asynchronous operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If asynchronous operations are implemented through OS calls, then CPU can continue executing, but system performance deteriorates due to OS overhead and privileged operations

Engineering Contradiction:
ImproveCPU execution continuityVSAvoidOS intervention overhead
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The cache controller provides self-service functionality by autonomously managing asynchronous memory operations without requiring OS intervention. It tracks completion status, manages blocks, and notifies the CPU independently, eliminating the need for privileged OS calls and reducing overhead.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The cache controller serves as an intermediary that replaces the OS as the mediator between CPU and memory. It provides user-level applications with asynchronous capabilities directly through hardware, bypassing the need for OS services and privileged operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Stability of the object's composition

If synchronous write-back operations are performed to persistent memory, then data consistency is maintained, but system efficiency deteriorates due to waiting for completion

Engineering Contradiction:
Improvedata consistencyVSAvoidCPU waiting time
Core Design Contradiction:
Stability of the object's compositionVSLoss of time

Solution Approach 1:

The system performs preliminary actions by queuing memory blocks in the cache controller before actual write-back operations. Blocks are prepared and organized in advance, allowing asynchronous processing to commence immediately without CPU waiting, while completion status is tracked to ensure data consistency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The cache controller implements feedback mechanisms by tracking completion status of asynchronous operations and notifying the CPU when operations complete. This allows the system to maintain data consistency through proper completion tracking while eliminating CPU waiting time, as the CPU can continue execution and be notified asynchronously.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11237960B2Method and apparatus for asynchronous memory write-back in a data processing system
Publication Date: 2022.02.01 ARM LTD
  • US11237960B2 patent drawing
  • US11237960B2 patent drawing
  • US11237960B2 patent drawing

AI summary

A data processing system includes a processor, a memory system, a cache controller and a cache accessible by the processor via the cache controller. The cache controller provides an asynchronous interface between the processor and the memory system. Instructions, issued by the processor to the cache controller, are completed by the cache controller without blocking the processor. In addition, the cache controller tracks a completion status of the memory operation associated with each instruction and enables the completion status to be queried by the processor. Status of the memory operation may be recorded as an entry in a log, where the log, or a property of the log, is accessible by the processor.