Fault-Tolerant Object Storage System for Small Objects

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing fault-tolerant enterprise storage systems are inefficient in storing and recovering small objects due to inefficient use of parity data, often requiring the same amount of space as the object and lacking the ability to synthesize parity for small objects, leading to reduced storage efficiency and inability to recover small objects in case of data loss.

Innovation Solution

A fault-tolerant enterprise object storage system that synthesizes parity data for small objects, distributing them across multiple storage entities and parity storage entities, and updates a processed data end offset indicator to ensure recoverability, allowing efficient storage and recovery of small objects.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional storage systems store small objects using numerous data blocks across multiple storage entities, then fault tolerance is provided, but storage efficiency deteriorates due to inefficient use of parity data and excessive storage space consumption

Engineering Contradiction:
Improvefault toleranceVSAvoidstorage space efficiency
Core Design Contradiction:
ReliabilityVSLoss of substance

Solution Approach 1:

The patent segments the parity data update process into incremental updates based on processed data end offsets. Instead of treating the entire aggregate object as a single unit, the system divides parity updates into manageable segments corresponding to individual small objects or groups of objects, allowing efficient storage and recovery operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs partial parity data updates only for the portions of aggregate objects that have changed. By updating parity data incrementally based on processed data end offsets rather than regenerating entire parity blocks, the system avoids excessive computation and storage operations while maintaining fault tolerance.

Inventive Principle:
Principle #16Partial or excessive action

2Reliability

If parity data is stored across multiple storage entities for fault tolerance, then object recovery is enabled, but device complexity increases due to the need to manage and coordinate multiple storage entities and parity blocks

Engineering Contradiction:
Improveobject recovery capabilityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The storage entities serve multiple functions: they store both data blocks and parity blocks, and can participate in both normal write operations and recovery operations. The same storage entities that store aggregate objects also store the parity information needed for recovery, eliminating the need for separate dedicated parity storage systems.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The processed data end offset acts as an intermediary mechanism that coordinates between data writing operations and parity update operations. This offset tracker mediates the synchronization between data blocks and parity blocks across multiple storage entities, simplifying the coordination complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If traditional systems use the same amount of parity data space as object size for small objects, then fault tolerance is achieved, but storage efficiency deteriorates due to disproportionate parity overhead for small objects

Engineering Contradiction:
Improvefault toleranceVSAvoidstorage efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system changes the parameter of parity data allocation from being object-size-proportional to being aggregate-object-proportional. By pooling multiple small objects into a single aggregate object with shared parity data, the effective parity overhead per small object is reduced dramatically, improving storage efficiency while maintaining fault tolerance.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10545825B2Fault-tolerant enterprise object storage system for small objects
Publication Date: 2020.01.28 SYNAMEDIA LTD
  • US10545825B2 patent drawing
  • US10545825B2 patent drawing
  • US10545825B2 patent drawing

AI summary

Various implementations disclosed herein provide fault-tolerant enterprise object storage system that can store small objects. In various implementations, the fault-tolerant enterprise object storage system writes a small object into an aggregate object that is distributed across a plurality of storage entities. In some implementations, the small object is at least an order of magnitude smaller than the aggregate object, and the small object is within the same order of magnitude of a block unit addressable within each of the storage entities. In some implementations, based on the small object, the storage system updates the parity data associated with the aggregate object in response to writing the small object into the aggregate object. In various implementations, the storage system updates a processed data end offset indicator that indicates that the parity data for the aggregate object includes valid data up to and including the small object.