Cache Currency Detection Using Persistent Markers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Fabric-attached persistent memory systems face slower access times compared to local private memory, limiting the performance of performance-conscious applications in memory-driven computing architectures.

Innovation Solution

A system and method that uses local cache memory to store key-value pairs from a shared persistent fabric-attached memory, with markers to determine cache currency, allowing quick access to up-to-date data and reducing the need for traversing the shared memory index.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If fabric-attached persistent memory is used to provide large pool of memory accessible by multiple computing devices, then memory capacity and scalability are improved, but access speed deteriorates compared to local private memory

Engineering Contradiction:
Improvememory capacityVSAvoidaccess speed
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

The system segments memory access into two paths: fabric-attached persistent memory for large-scale capacity and local cache memory for fast access. Computing devices divide their memory operations between the shared FAM pool and private local memory, allowing the system to simultaneously achieve large memory capacity through FAM while maintaining fast access speeds through local caching of frequently accessed data.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Local cache memory acts as an intermediary between computing devices and the fabric-attached persistent memory. The local cache stores copies of frequently accessed data from FAM, mediating between the slow but high-capacity FAM and the fast but limited local memory, thereby improving overall access speed while preserving the benefits of large-scale memory capacity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If local cache memory is used to store copies of key-value pairs from shared persistent memory, then access speed to frequently used data is improved, but system complexity increases due to cache coherence management

Engineering Contradiction:
Improvedata access speedVSAvoidcache coherence management
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The system implements feedback mechanisms where computing devices monitor their local cache for staleness and automatically refresh data from the shared FAM when needed. The fabric switch provides feedback about data validity and timing, allowing devices to determine when local cache copies are outdated and need updating, thereby managing cache coherence without centralized control.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

Each computing device autonomously manages its own local cache, determining when to refresh data from the shared FAM based on its access patterns and the timing of updates in FAM. Rather than requiring a centralized cache coherence protocol, each device serves itself by monitoring and refreshing its local cache as needed, reducing overall system complexity.

Inventive Principle:
Principle #25Self-service

3Productivity

If fabric-attached memory allows independent scaling of compute elements and memory, then resource utilization efficiency is improved, but access latency increases compared to tightly coupled architectures

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidaccess latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by pre-loading frequently accessed key-value pairs from the fabric-attached persistent memory into local cache memory before they are actually needed by computing devices. This anticipatory caching reduces access latency for future operations, allowing the system to maintain high resource utilization efficiency while minimizing the time loss associated with distant memory access.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10489310B2Determining cache value currency using persistent markers
Publication Date: 2019.11.26 HEWLETT PACKARD ENTERPRISE DEV LP
  • US10489310B2 patent drawing
  • US10489310B2 patent drawing
  • US10489310B2 patent drawing

AI summary

Determining cache value currency using persistent markers is disclosed herein. In one example, a cache entry is retrieved from a local cache memory device. The cache entry includes a key, a value to be used by the computing device, and a marker flag to determine whether the cache entry is current. The local cache memory device also includes a marker location that indicates a location of a marker in a shared persistent fabric-attached memory (FAM). Using a marker location, the marker is retrieved from the shared persistent FAM. From the marker and the marker flag, it is determined whether the cache entry is current. The shared FAM pool is connected to the local cache memory devices of multiple computing devices.