Host-Side Tier Cache Coherency for Persistent Memory
Find Innovative SolutionsGenerate 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
Engineering 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
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.
2Reliability
If persistent cache is used, then cost is reduced compared to VRAM, but data consistency becomes problematic when peer nodes receive cache invalidations
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.
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
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.
Data Source
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.


