CRUSH Hashing for Dynamic Storage Node Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional storage systems have limited capabilities for dynamically managing storage elements and responding to system failures, particularly in terms of adding or deleting storage components and maintaining data integrity across nodes in a clustered environment.

Innovation Solution

The Saratoga Speed Block Level Cluster (SSBLC) system employs a CRUSH-based hashing library for mapping Logical Unit Numbers (LUNs) across nodes, combined with PAXOS for state coordination, allowing for dynamic storage management and failure recovery by synchronizing node states and remapping data across the cluster.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional storage systems are used, then system simplicity is maintained, but the capability for dynamically adding or deleting storage elements is limited

Engineering Contradiction:
Improvedynamic storage management capabilityVSAvoidsystem architecture complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The storage system is divided into independent storage elements (disks, partitions, LUNs) that can be individually managed, added, or deleted. Each storage element is treated as a separate unit that can be dynamically provisioned and distributed across multiple nodes in the cluster, enabling flexible storage management without requiring system-wide reconfiguration.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system implements dynamic storage management where storage elements can be added or removed at runtime without taking down the entire system. The CRUSH-based hashing library dynamically remaps data chunks when storage topology changes, and the PAXOS protocol dynamically coordinates state transitions across nodes, allowing the system to adapt to changing storage requirements.

Inventive Principle:
Principle #15Dynamics

2Reliability

If conventional storage systems are used, then system architecture is simple, but the response capability to system failures is limited

Engineering Contradiction:
Improvefailure response capabilityVSAvoidcoordination mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system pre-establishes redundant copies of data chunks across multiple nodes using CRUSH hashing before failures occur. When a node fails, the system has already positioned replacement copies on other nodes, enabling immediate failover without data loss. The PAXOS protocol pre-coordinates state transitions to ensure consistent failure response across the cluster.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements continuous monitoring of node health and storage state through PAXOS state coordination. When failures are detected, the system automatically triggers remapping operations and state transitions to restore data availability. This feedback loop enables the system to respond to failures autonomously and maintain reliability without manual intervention.

Inventive Principle:
Principle #23Feedback

3Reliability

If data is redistributed across multiple nodes, then data integrity during failures is improved, but data movement overhead increases

Engineering Contradiction:
Improvedata integrity during failuresVSAvoiddata remapping time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system replaces traditional mechanical storage allocation with a software-based CRUSH hashing algorithm that deterministically maps data chunks to nodes. This substitution eliminates the need for manual or centralized allocation decisions, enabling automatic and efficient data remapping when failures occur. The hashing-based approach computes new locations instantly without iterative searching or coordination overhead.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The system changes the storage topology parameters (node additions, removals, or failures) and the CRUSH hashing algorithm automatically recalculates data chunk locations based on the new parameters. This parameter-driven approach allows the system to adapt to changing conditions without manual reconfiguration, minimizing data movement by only relocating chunks affected by the parameter change rather than redistributing entire storage volumes.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9697226B1Network system to distribute chunks across multiple physical nodes
Publication Date: 2017.07.04 SANMINA CORP
  • US9697226B1 patent drawing
  • US9697226B1 patent drawing
  • US9697226B1 patent drawing

AI summary

A method of storing a file in a storage system that includes a plurality of memory-storage hosts includes: providing unique chunk identifiers for memory chunks included in the file; using a hash mapping to identify one or more storage locations for each chunk identifier, each storage location corresponding to a portion of a memory-storage host; and storing each memory chuck at the corresponding one or more storage locations identified by the hash mapping.