Hierarchical Erasure-Coded Storage Layout for Petabyte Resiliency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional data protection mechanisms, such as RAID, are inadequate for petabyte-scale systems due to increased drive capacities and lower quality drives, leading to high storage costs and excessive wear on storage devices, while erasure coding techniques consume significant I/O processing and network bandwidth.

Innovation Solution

A hierarchical wide spreading data storage architecture that implements rateless erasure coding, segmenting data objects into fragments and distributing them across multiple storage nodes for maximum resiliency, using a front-end node to encode and select storage nodes based on storage resiliency, and segment processor units to re-encode and distribute fragments across storage media devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional RAID mechanisms are used for data protection, then data redundancy is achieved, but storage costs increase and storage device wear becomes excessive in petabyte-scale systems

Engineering Contradiction:
Improvedata protectionVSAvoidstorage costs
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent segments data objects into multiple fragments and distributes them across different storage devices. This segmentation allows for more efficient use of storage resources compared to traditional RAID, reducing the total storage capacity needed for the same level of data protection and thereby lowering storage costs while maintaining reliability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent employs erasure coding techniques that use mathematical parameters to generate redundant data fragments. By changing the redundancy parameters and distributing fragments across devices, the system achieves data protection with reduced storage overhead compared to traditional RAID mechanisms, addressing the contradiction between reliability and storage cost.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If erasure coding techniques are implemented to protect stored data, then storage resiliency is improved, but I/O processing overhead and network bandwidth consumption increase substantially

Engineering Contradiction:
Improvestorage resiliencyVSAvoidI/O processing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent performs erasure coding and fragment distribution in advance during the data writing phase. By preprocessing the data into encoded fragments and distributing them across storage devices before read operations, the system minimizes I/O processing overhead during data retrieval, thus improving productivity while maintaining storage resiliency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system distributes encoded fragments across multiple storage devices in a self-organizing manner, where each device stores a portion of the encoded data. This distributed architecture allows the system to handle read requests by retrieving only the necessary fragments, reducing network bandwidth consumption and I/O processing overhead compared to centralized erasure coding approaches.

Inventive Principle:
Principle #25Self-service

3Reliability

If erasure coding is used to maintain storage resiliency, then data protection is enhanced, but storage devices experience excessive wear requiring frequent replacement

Engineering Contradiction:
Improvestorage resiliencyVSAvoidstorage device lifespan
Core Design Contradiction:
ReliabilityVSDuration of action of stationary object

Solution Approach 1:

By segmenting data into fragments and distributing them across multiple storage devices, the patent reduces the workload on individual devices. This segmentation allows for more balanced I/O operations and reduces wear on each device, extending their operational lifespan while maintaining storage resiliency through the distributed fragment architecture.

Inventive Principle:
Principle #1Segmentation

4Reliability

If data is distributed across multiple storage nodes for wide spreading, then storage resiliency is maximized, but system complexity increases

Engineering Contradiction:
Improvestorage resiliencyVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent employs homogeneous erasure coding algorithms and uniform fragment distribution strategies across all storage nodes. This homogeneity simplifies the system architecture by using consistent encoding and decoding procedures throughout the distributed system, reducing management complexity while achieving maximum storage resiliency through wide spreading of data fragments.

Inventive Principle:
Principle #33Homogeneity

Data Source

PatentUS9823969B2Hierarchical wide spreading of distributed storage
Publication Date: 2017.11.21 NETAPP INC
  • US9823969B2 patent drawing
  • US9823969B2 patent drawing
  • US9823969B2 patent drawing

AI summary

Systems and techniques for managing data storage are disclosed. In some aspects, a front-end node responds to a request to write an object by dividing the object into multiple source data segments. The front-end node generates redundancy data for the multiple source data segments using a rateless erasure encoding. The front-end node associates a respective subset of the redundancy data with each of the multiple source data segments, wherein each subset of redundancy data and associated source data segment form an encoded segment. The rateless erasure encoding further includes defining multiple segment-level fragments within each of the encoded segments. The front-end node transmits each of the encoded segments to a selected one of multiple storage nodes, wherein each of the selected storage nodes are selected based on a determined storage layout of the encoded segments across the multiple storage nodes. For each of the received encoded segments, the storage node generates one or more protection fragments based on redundancy data generated from the segment-level fragments and stores the segment-level fragments and corresponding protection fragments across multiple storage media devices managed by the selected storage node.