Erasure-Coded Cache Prioritization for Parity Update Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Erasure coding systems face inefficiencies in normal and degraded modes, particularly during partial data updates, leading to increased I/O latency and network traffic due to excessive processing of parity chunks and data reconstruction.

Innovation Solution

Implementing a caching system that partitions data into chunks, stores them across multiple devices, and prioritizes caching of reads and writes based on threshold values, with a focus on failed storage devices in erasure-coded systems to reduce network traffic and latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If erasure coding is used to prevent data loss, then data reliability is improved, but I/O latency increases due to multiple parity updates

Engineering Contradiction:
Improvedata reliabilityVSAvoidI/O latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements a caching layer that pre-loads data chunks into memory before they are needed for parity updates or reconstruction operations. This preliminary action reduces the I/O latency by having data readily available in cache rather than requiring disk access during time-critical operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a caching module as an intermediary between the storage devices and the erasure coding operations. This mediator layer buffers data reads and writes, absorbing the I/O latency variability and providing more consistent performance for parity updates and reconstruction.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If parity chunks are updated during partial data updates, then data integrity is maintained, but network traffic increases

Engineering Contradiction:
Improvedata integrityVSAvoidnetwork traffic
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent implements differential caching that identifies and caches only the specific data chunks that will be needed for parity updates, rather than caching all data. This local quality approach minimizes network traffic by transferring only the necessary data portions to the caching layer.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent segments the caching strategy into different priorities: frequently accessed data chunks are cached with higher priority, while less frequently accessed chunks use standard caching. This segmentation optimizes network traffic by focusing cache resources on the data portions that will actually be used for parity operations.

Inventive Principle:
Principle #1Segmentation

3Reliability

If data reconstruction is performed in degraded mode, then data availability is restored, but I/O latency increases due to multiple parity updates

Engineering Contradiction:
Improvedata availabilityVSAvoidreconstruction latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent pre-loads data chunks into the caching layer during normal operation, so that when degradation occurs and reconstruction is needed, the cached data is already available in memory. This preliminary action dramatically reduces reconstruction latency by eliminating the need to read from slow storage devices during the critical reconstruction window.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent monitors the health status of storage devices and dynamically adjusts caching priorities. When a device is detected as degraded or failing, the system increases caching priority for data chunks on that device, ensuring they are pre-loaded before failure occurs, thereby reducing reconstruction latency.

Inventive Principle:
Principle #23Feedback

4Productivity

If caching is implemented for all storage devices, then throughput is improved, but device complexity increases

Engineering Contradiction:
ImprovethroughputVSAvoidcaching system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements selective caching where different caching strategies are applied to different storage devices based on their access patterns and importance. Critical data chunks and devices with high access frequency receive aggressive caching, while less critical data uses standard caching, thereby optimizing throughput without uniformly increasing complexity across all devices.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10437691B1Systems and methods for caching in an erasure-coded system
Publication Date: 2019.10.08 COHESITY INC
  • US10437691B1 patent drawing
  • US10437691B1 patent drawing
  • US10437691B1 patent drawing

AI summary

The disclosed computer-implemented method for caching in an erasure-coded system may include partitioning data into data chunks and storing the data chunks across at least two data storage devices. The method may also include encoding the data chunks into at least one parity chunk and storing the at least one parity chunk on at least one parity storage device. The method may further include caching (parity and/or data functions) to at least one storage device, when a threshold value is reached. The method may include detecting a storage failure on one of the data storage devices and subsequent thereto, prioritizing the caching of certain functions over those of others. Various other methods, systems, and computer-readable media are also disclosed.