Directory-Based Cache Coherence for Distributed Storage Networks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current storage network access solutions fail to provide effective cache coherency mechanisms, leading to inefficiencies in data localization and increased bandwidth usage between geographically remote access nodes.

Innovation Solution

Implementing a directory-based cache ownership scheme where a global coordinator manages a directory of page ownership, allowing ownership to transfer based on usage patterns, thereby reducing synchronization messages and bandwidth requirements between nodes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If data is cached locally at access nodes to improve access speed, then data localization and access speed are improved, but cache coherency maintenance becomes complex and bandwidth usage increases

Engineering Contradiction:
Improvedata access speedVSAvoidbandwidth usage
Core Design Contradiction:
SpeedVSLoss of energy

Solution Approach 1:

A global coordinator is introduced as an intermediary component that manages cache coherency across distributed access nodes. The coordinator receives coherence requests from nodes, manages the directory of cached data, and coordinates invalidation or update operations, thereby simplifying the coherency maintenance process and reducing direct communication overhead between nodes.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system implements feedback mechanisms where access nodes report their cache status and data access patterns to the global coordinator. The coordinator uses this feedback information to make intelligent decisions about cache validation, invalidation, and data redistribution, optimizing bandwidth usage while maintaining coherency.

Inventive Principle:
Principle #23Feedback

2Loss of energy

If a directory-based cache ownership scheme is implemented to reduce bandwidth usage, then bandwidth requirements are reduced, but the complexity of managing directory-based ownership increases

Engineering Contradiction:
Improvebandwidth usageVSAvoidsystem complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The directory-based cache ownership system is segmented into distinct functional components: access nodes that cache data, a global coordinator that manages coherency, and a directory structure that tracks ownership. This segmentation allows each component to have specialized, simplified responsibilities, reducing overall system complexity despite the distributed nature of the system.

Inventive Principle:
Principle #1Segmentation

3Loss of time

If ownership of cached data is transferred based on usage patterns to reduce synchronization messages, then messaging requirements are reduced, but the logic for determining ownership becomes more complex

Engineering Contradiction:
Improvesynchronization timeVSAvoidownership management complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The system performs preliminary actions by pre-establishing cache ownership in the directory before actual data access occurs. When an access node needs data, the directory already contains ownership information, allowing for immediate retrieval or transfer decisions without complex real-time synchronization logic, thus reducing synchronization time.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7975018B2Systems and methods for providing distributed cache coherence
Publication Date: 2011.07.05 EMC IP HLDG CO LLC
  • US7975018B2 patent drawing
  • US7975018B2 patent drawing
  • US7975018B2 patent drawing

AI summary

A plurality of access nodes sharing access to data on a storage network implement a directory based cache ownership scheme. One node, designated as a global coordinator, maintains a directory (e.g., table or other data structure) storing information about I/O operations by the access nodes. The other nodes send requests to the global coordinator when an I/O operation is to be performed on identified data. Ownership of that data in the directory is given to the first requesting node. Ownership may transfer to another node if the directory entry is unused or quiescent. The distributed directory-based cache coherency allows for reducing bandwidth requirements between geographically separated access nodes by allowing localized (cached) access to remote data.