Multi-layer Encoding for Distributed Storage of Small Data Objects

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed storage systems face inefficiencies when handling small data objects, as grouping them into container objects leads to increased computing resource usage and bandwidth consumption, especially during operations like compaction and repair, due to the need to process entire container objects even when only a few small data objects are accessed or modified.

Innovation Solution

Implementing multi-layer redundant encoded distributed storage with hierarchical storage levels, using spreading divisors and redundancy levels to split data objects into multiple pieces across storage entities, allowing for efficient retrieval and redundancy without relying on entire container objects, thereby minimizing bandwidth usage and computational expense.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If small data objects are grouped into container objects for distributed storage, then storage efficiency is improved, but computing resource usage and bandwidth consumption increase during operations like compaction and repair

Engineering Contradiction:
Improvestorage efficiencyVSAvoidcomputing resource usage
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent segments the container object into multiple chunks, where each chunk contains a portion of the data objects. This allows operations to be performed on individual chunks rather than the entire container object, reducing computing resource usage during compaction and repair operations while maintaining storage efficiency benefits of grouping.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If small data objects are grouped into container objects, then storage cost is reduced, but IOPS requirements increase for accessing individual data objects

Engineering Contradiction:
Improvestorage costVSAvoidIOPS
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

By dividing the container object into multiple chunks, the system enables parallel access to different data objects stored within the same container. Multiple IOPS operations can be performed simultaneously on different chunks, improving throughput and reducing the impact on individual IOPS performance while maintaining lower storage costs through grouping.

Inventive Principle:
Principle #1Segmentation

3Reliability

If entire container objects are processed for individual data object operations, then data integrity is maintained, but bandwidth usage increases

Engineering Contradiction:
Improvedata integrityVSAvoidbandwidth usage
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent extracts and processes only the specific chunk containing the target data object during operations like compaction and repair, rather than processing the entire container object. This extraction approach maintains data integrity by working with complete chunk units while significantly reducing bandwidth usage by limiting data transfer to only the necessary portions.

Inventive Principle:
Principle #2Taking out (Extraction)

4Speed

If small data objects are stored individually in distributed storage, then access speed is improved, but storage overhead and metadata consumption increase

Engineering Contradiction:
Improveaccess speedVSAvoidmetadata overhead
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent merges multiple small data objects into a container object that is then divided into chunks. This combining approach reduces metadata overhead by having a single container metadata structure instead of separate metadata for each small data object, while still maintaining relatively fast access speeds through the chunked structure that allows efficient locating and retrieval of specific data.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10817193B2Multi-layer encoding for distributed container-based storage of smaller data objects
Publication Date: 2020.10.27 WESTERN DIGITAL TECHNOLOGIES INC
  • US10817193B2 patent drawing
  • US10817193B2 patent drawing
  • US10817193B2 patent drawing

AI summary

An object is divided into SD1 first-level pieces. Each first-level piece is stored in a first-level container on a first-level storage entity. A redundant encoding of the first-level containers is stored in RL1 additional first-level containers on RL1 additional first-level storage entities. On each of the first-level storage entities, the locally-stored first-level container is divided into SD2 local second-level pieces. Each second-level piece is stored in a second-level container on a second-level storage entity of the specific first-level storage entity. Each first-level storage entities contains SD2 plus RL2 second-level storage entities. A redundant encoding of the second-level containers is stored in RL2 additional second-level containers on RL2 additional second-level storage entities. The stored object is retrievable where any specific RL1 ones of the first level storage entities are not available, and any specific RL2 ones of the second-level storage entities of each remaining first-level storage entity are not available.