Distributed Storage Redundancy Layout for Low-Latency Reads

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional ServerSAN storage systems face increased data access latency due to network throughput bottlenecks when distributing write data among server nodes, which affects data access performance and reliability.

Innovation Solution

A distributed storage system is implemented with a network of nodes that store data locally and transfer it to other nodes for redundancy, creating redundant codes across different nodes without relying on network intervention during read operations, thus optimizing data access and maintaining high reliability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If write data is distributed to multiple server nodes for redundancy, then data reliability is improved, but data access latency increases due to network throughput bottlenecks

Engineering Contradiction:
Improvedata reliabilityVSAvoiddata access latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system pre-calculates and stores mapping relationships between logical addresses and physical locations of data blocks and redundant codes across nodes. When read requests arrive, the system can directly determine which node holds the required data without network-wide queries, significantly reducing access latency while maintaining the distributed redundancy structure for reliability

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a management node that acts as an intermediary between client nodes and storage nodes. The management node maintains the mapping information and redirects read requests directly to the appropriate nodes, avoiding network bottlenecks. This intermediary layer enables efficient data retrieval while preserving the distributed storage architecture's reliability benefits

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If redundant codes are created and stored across multiple nodes, then data protection is improved, but network traffic increases

Engineering Contradiction:
Improvedata protectionVSAvoidnetwork traffic
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system segments the redundant code creation process by having each node independently generate its own redundant code from its local data blocks using erasure coding. This eliminates the need for nodes to exchange data over the network for redundancy creation, reducing network traffic while maintaining comprehensive data protection across the distributed system

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each storage node autonomously generates and stores its own redundant codes locally without requiring network communication with other nodes for the code creation process. This self-service approach to redundancy generation minimizes network traffic while ensuring that each node contributes to and benefits from the distributed data protection mechanism

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11886294B2Distributed storage system
Publication Date: 2024.01.30 HITACHI VANTARA LTD
  • US11886294B2 patent drawing
  • US11886294B2 patent drawing
  • US11886294B2 patent drawing

AI summary

A first node group including at least three nodes is predefined in a distributed storage system. Each node of the first node group is configured to send data blocks stored in storage devices managed by the node to other nodes belonging to the first node group. A first node is configured to receive data blocks from two or more other nodes in the first node group. The first node is configured to create a redundant code using a combination of data blocks received from the two or more other nodes and store the created redundant code to a storage device different from storage devices holding the data blocks used to create the redundant code. Combinations of data blocks used to create at least two redundant codes in redundant codes created by the first node are different in combination of logical addresses of constituent data blocks.