Distributed Cache Erasure Coding Write Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed storage systems employing erasure coding, efficient caching of write data is hindered by the need for a full stripe of data to be received, as reading missing data blocks from disk is time-consuming, and data blocks often arrive asynchronously, making it desirable to cache write data without reading from disk.

Innovation Solution

A method is introduced where m data blocks and p parity blocks are stored across m plus p independent computing devices, allowing for efficient caching by reading from a distributed cache with redundancy, ensuring data consistency through timestamp management and confirmation mechanisms.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data blocks are cached in memory of independent computing devices, then write data caching efficiency is improved, but the ability to use memory of other independent computing devices for caching is limited

Engineering Contradiction:
Improvewrite data caching efficiencyVSAvoidability to use memory of other independent computing devices
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent implements a distributed caching system where memory resources across multiple independent computing devices can be shared and used collectively for caching write data. Any computing device in the array can contribute its memory to the distributed cache, making the caching capability universal across the entire system rather than limited to individual devices.

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

Solution Approach 2:

The caching system is segmented across multiple independent computing devices, with each device contributing a portion of the distributed cache. The data is divided into blocks that can be distributed across different devices' memory, allowing parallel caching operations and enabling the system to scale by adding more devices to the segment.

Inventive Principle:
Principle #1Segmentation

2Reliability

If a full stripe of data is received before caching, then erasure coded data caching reliability is improved, but caching speed deteriorates due to needing to read missing data blocks from disk

Engineering Contradiction:
Improveerasure coded data caching reliabilityVSAvoidcaching speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The system performs preliminary actions by receiving and caching data blocks as they arrive, rather than waiting for the complete stripe. The distributed cache preliminarily stores incoming blocks, and the erasure coding process is completed in the background, allowing caching to proceed without waiting for all blocks to arrive before starting the caching operation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The distributed cache acts as an intermediary between the incoming data blocks and the final erasure coded storage. Instead of requiring complete stripes before caching, the intermediary cache system temporarily holds individual blocks and facilitates the erasure coding process, mediating between the asynchronous data arrival and the reliability requirements.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If data blocks arrive asynchronously, then data reception flexibility is improved, but the ability to efficiently cache without reading from disk deteriorates

Engineering Contradiction:
Improvedata reception flexibilityVSAvoidcaching efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The caching system is designed to be dynamic, adapting to the asynchronous arrival of data blocks. Rather than requiring a fixed complete stripe before caching, the system dynamically processes blocks as they arrive, adjusting the caching operations based on the current state of received blocks and maintaining efficiency despite variable arrival patterns.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS7725655B2Method of operating distributed storage system in which data is read from replicated caches and stored as erasure-coded data
Publication Date: 2010.05.25 HEWLETT PACKARD ENTERPRISE DEV LP
  • US7725655B2 patent drawing
  • US7725655B2 patent drawing
  • US7725655B2 patent drawing

AI summary

Data blocks are read from a distributed cache. The distributed cache comprises m replicated caches, each replicated cache including a plurality of independent computing devices. Each independent computing device of the replicated caches holds a replica of a particular one of the m data blocks in memory. The m data blocks and p parity blocks are stored across m plus p independent computing devices. Each of the m plus p independent computing devices stores a single block selected from the m data blocks and the p parity blocks.