Host-Side Tier Cache Coherency for Persistent Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current clustered/distributed file systems face challenges in maintaining cache coherency when using non-volatile random access memory (NVRAM) due to the lack of participation in the cache coherency protocol, leading to potential data inconsistencies and increased costs, especially with the introduction of new persistent cache technologies like 3D Xpoint.

Innovation Solution

Implementing a host-side tier cache coherency management system that coordinates synchronization of writes and invalidations independently from the file system buffer cache, using a 'snoop' type write-back cache coherency model, where nodes communicate to manage coherency between volatile and non-volatile caches, ensuring that the most recent file system object versions are maintained across all nodes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If persistent cache is used below VRAM file buffer cache, then cost is reduced and non-volatility is achieved, but cache coherency is compromised because persistent cache does not participate in the C/DFS cache coherency protocol

Engineering Contradiction:
Improvecache coherencyVSAvoidcache coherency protocol participation
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary mechanism where the persistent cache indirectly participates in cache coherency through validation requests from peer nodes. Instead of directly implementing the full C/DFS cache coherency protocol, the persistent cache responds to validation requests from peer nodes, allowing it to maintain coherency without full protocol participation. This resolves the contradiction by providing a simplified interface that achieves the necessary coherency guarantees.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If persistent cache is used, then cost is reduced compared to VRAM, but data consistency becomes problematic when peer nodes receive cache invalidations

Engineering Contradiction:
Improvedata consistencyVSAvoidcoherency management
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements a feedback mechanism where peer nodes send validation requests to the persistent cache to verify data consistency. When a peer node receives a cache invalidation, it can validate whether the persistent cache contains valid data before proceeding. This feedback loop ensures data consistency is maintained even though the persistent cache operates independently from the main C/DFS cache coherency protocol.

Inventive Principle:
Principle #23Feedback

3Reliability

If persistent cache is used, then non-volatility is achieved, but writes may be held in persistent cache causing peer nodes to believe data is persisted when it is not

Engineering Contradiction:
Improvenon-volatilityVSAvoidwrite visibility
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The patent applies preliminary action by having the persistent cache validate its data with peer nodes before considering writes as fully persisted. Instead of assuming writes are persisted once in the persistent cache, the system performs preliminary validation checks to ensure peer nodes are aware of the data state. This prevents the situation where peer nodes believe data is persisted when it may not be visible to them yet.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10452544B1Using persistent memory technology as a host-side storage tier for clustered/distributed file systems, managed by host-side tier
Publication Date: 2019.10.22 EMC IP HLDG CO LLC
  • US10452544B1 patent drawing
  • US10452544B1 patent drawing
  • US10452544B1 patent drawing

AI summary

Embodiments are described for a multi-node file system, such as a clustered or distributed file system, with a file system buffer cache and an additional host-side tier non-volatile storage cache such as 3DXP storage. Cache coherency can be maintained by one of three models: (i) host-side tier management, (ii) file system management, or (iii) storage array management. performing a storage tier-specific file system action in a file system that comprises a namespace that spans multiple tiers of storage.