Lightweight Coherency Control Protocol for Clustered Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In clustered storage systems, maintaining data coherency across multiple nodes is inefficient due to the overhead required by distributed locking mechanisms, which can lead to performance degradation when a single data container is heavily accessed, causing individual storage systems to become overburdened.

Innovation Solution

A lightweight coherency control protocol that uses a current cache sequence number, comprising a load generation value and an update count, to validate and update data buffers, ensuring that cached copies are up-to-date with the authoritative version, allowing for efficient distribution of file system buffers across multiple storage systems without the need for distributed locking.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If distributed locking mechanisms are used to maintain data coherency across clustered storage nodes, then data consistency is ensured, but system overhead increases and performance degrades when single data containers are heavily accessed

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the locking mechanism from the coherency control process entirely. Instead of using distributed locks to manage data consistency, the system uses a lock-free validation approach where nodes validate data freshness by comparing sequence numbers (svns) and version identifiers (vids) without acquiring any locks, thereby eliminating the overhead associated with distributed locking while maintaining data consistency

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent changes the control parameter from lock acquisition status to sequence number and version identifier comparison. Each data container has an associated svn and vid that are incremented on updates. Nodes validate coherency by comparing these parameters rather than through locking, transforming the control mechanism from a resource-based approach to a parameter-based validation approach that reduces system overhead

Inventive Principle:
Principle #35Parameter changes

2Productivity

If volumes are distributed across all storage systems to balance processing load, then individual node processing load is reduced, but coherency control overhead increases

Engineering Contradiction:
Improveprocessing load distributionVSAvoidcoherency control overhead
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-incrementing sequence numbers (svns) and version identifiers (vids) at the time of data updates. This allows future validation operations to simply compare these pre-computed parameters rather than performing complex coherency checks, reducing the time overhead for coherency control while maintaining distributed volume architecture for load balancing

Inventive Principle:
Principle #10Preliminary action

3Speed

If heavy access requests are concentrated on single data containers, then data access efficiency is improved, but individual storage systems become overburdened and performance degrades

Engineering Contradiction:
Improvedata access efficiencyVSAvoidnode processing capacity
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent segments the data access workload across multiple storage nodes by distributing volumes containing different data containers across the cluster. Heavy access patterns are naturally distributed because different high-demand data containers reside on different nodes, preventing any single node from becoming overburdened while maintaining efficient access to frequently accessed data through local caching and validation

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7376796B2Lightweight coherency control protocol for clustered storage system
Publication Date: 2008.05.20 NETAPP INC
  • US7376796B2 patent drawing
  • US7376796B2 patent drawing
  • US7376796B2 patent drawing

AI summary

A lightweight coherency control protocol ensures consistency of data containers, such as a file, and associated data buffers stored on one or more volumes served by a plurality of nodes, e.g., storage systems, connected as a cluster. Each data buffer is associated with a current cache sequence number comprising a load generation value and an update count value. The load generation value is incremented every time an inode of a file is loaded into a memory of the storage system. Once the inode is loaded and its load generation value is set, then the appropriate buffer of a buffer tree for the file is loaded into the memory. The update count value is incremented each time the buffer is updated with a write request/operation. Therefore, each buffer loaded into memory is tagged with the load generation value and an update count from the time that buffer is loaded.