Distributed Storage Redundancy Layout for Lower Access Latency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional ServerSAN storage systems face network throughput bottlenecks during data access due to the distribution of write data among multiple server nodes, leading to increased data access latency.
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 and distributing them across different nodes to ensure data protection and reduce network traffic, thereby minimizing latency and maintaining high read performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If write data is distributed to multiple server nodes for redundancy, then data reliability is improved, but network throughput becomes a bottleneck and data access latency increases
Solution Approach 1:
The patent applies local quality by allowing different nodes to have different roles (data block storage vs. redundant code creation) and enabling nodes to selectively store either data blocks or redundant codes based on their capacity and access patterns. This differentiation optimizes local storage characteristics to balance reliability and access speed.
Solution Approach 2:
The patent segments the storage system into distinct functional components: nodes that primarily store data blocks and nodes that primarily create and store redundant codes. This segmentation allows the system to distribute the reliability function without requiring every node to participate in both data storage and redundancy creation, thereby reducing network traffic overhead.
2Reliability
If data blocks are transferred through the network among server nodes, then data distribution and redundancy are achieved, but network throughput is consumed and access performance deteriorates
Solution Approach 1:
The patent implements preliminary action by having nodes pre-create redundant codes from data blocks and store them in advance, rather than creating redundant codes on-demand during read operations. This pre-computation reduces the need for network transfers during actual data access, conserving network throughput.
Solution Approach 2:
The patent uses copying by creating redundant codes as copies of data block information and storing these copies at different nodes. This allows the system to achieve data protection through information copying rather than through frequent network transfers of original data blocks, reducing network energy consumption.
3Quantity of substance
If redundant codes are created and stored at the same node as data blocks, then storage capacity efficiency is improved, but data security and reliability are compromised
Solution Approach 1:
The patent applies segmentation by separating data blocks and redundant codes into different storage locations across the network. Nodes are designated to store either data blocks or redundant codes, but not both together, ensuring that even if one node fails, the other components remain secure and accessible for data recovery.
Solution Approach 2:
The patent introduces an intermediary mechanism where redundant codes are created through computational processes that combine data blocks from multiple sources, and these codes are then stored at separate nodes. This intermediary step of distributed code creation and separate storage maintains security while achieving capacity efficiency.
Data Source
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.


