Erasure-Coded Shard Retrieval for Read Tail Latency Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data storage systems using erasure coding face challenges in reducing read tail latency, which occurs when retrieving the last erasure coded shard, leading to increased overall read times and potential service level agreement (SLA) violations.

Innovation Solution

The system selects a subset of erasure coded shards or increases the number of shards to retrieve, using latency monitoring and calibration modules to determine collective latency indicators and compare them to a latency limit, thereby reducing read tail latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If all erasure coded shards are retrieved to ensure data reconstruction, then data reliability is improved, but read tail latency increases

Engineering Contradiction:
Improvedata reliabilityVSAvoidread tail latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system retrieves more than the minimum required shards (excessive action) to reduce latency. By retrieving N+K shards where N is the minimum needed for reconstruction and K is an additional buffer, the system ensures that enough shards are available even when some are delayed, thereby reducing read tail latency while maintaining data reliability

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system performs preliminary retrieval of erasure coded shards before the minimum required number is reached. By proactively fetching additional shards in advance and buffering them, the system prepares for potential reconstruction needs without waiting for the exact minimum number, thus reducing latency while ensuring reliability

Inventive Principle:
Principle #10Preliminary action

2Loss of time

If the number of erasure coded shards to retrieve is increased, then read tail latency is reduced, but system complexity increases

Engineering Contradiction:
Improveread tail latencyVSAvoidsystem complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The system dynamically adjusts the number of shards to retrieve based on real-time conditions such as current latency measurements, storage system state, and workload characteristics. This dynamic calibration allows the system to optimize the shard retrieval count adaptively, reducing read tail latency while avoiding the need for complex static configurations

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system implements feedback mechanisms that monitor read latency performance and use this information to adjust the number of shards retrieved in subsequent operations. By continuously measuring latency and adjusting shard retrieval counts based on this feedback, the system reduces tail latency while keeping complexity manageable through data-driven decisions

Inventive Principle:
Principle #23Feedback

3Ease of operation

If a fixed number of erasure coded shards is retrieved, then system operation is simplified, but service level agreement compliance deteriorates

Engineering Contradiction:
Improvesystem operation simplicityVSAvoidSLA compliance
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system transitions from fixed shard retrieval to dynamic adjustment based on calibrated latency models. By using measured latency characteristics to determine the appropriate number of shards to retrieve, the system maintains operational simplicity while achieving SLA compliance through adaptive, condition-based retrieval strategies

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10374634B2Read tail latency reduction
Publication Date: 2019.08.06 WESTERN DIGITAL TECHNOLOGIES INC
  • US10374634B2 patent drawing
  • US10374634B2 patent drawing
  • US10374634B2 patent drawing

AI summary

An individual latency indicator is determined for each Data Storage Device (DSD) or memory portion of a DSD storing one or more erasure coded shards generated from an erasure coding on initial data. Each individual latency indicator is associated with a latency in retrieving an erasure coded shard stored in a respective DSD or memory portion. At least one collective latency indicator is determined using determined individual latency indicators, with the at least one collective latency indicator being associated with a latency in retrieving multiple erasure coded shards. The at least one collective latency indicator is compared to a latency limit, and a subset of erasure coded shards is selected to retrieve based on the comparison of the at least one collective latency indicator to the latency limit.