Network Storage Reliability Coding With DPU Erasure Offload

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In cloud-based data centers, general-purpose processors are inefficient in handling high-capacity network and storage workloads, leading to poor performance in packet stream processing, and storage systems often become unavailable due to hardware or software errors, requiring effective data durability solutions.

Innovation Solution

A programmable data processing unit with specialized hardware accelerators performs data durability coding by storing data in fragments across multiple fault domains, enabling efficient recovery using erasure coding schemes, and offloading data durability operations to reduce server workload.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If general-purpose processors are used for data durability operations, then device complexity is reduced, but processing speed and productivity deteriorate

Engineering Contradiction:
Improveprocessor architecture complexityVSAvoiddata processing throughput
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The system segments processing functions by separating general-purpose processors from specialized hardware accelerators. The hardware accelerators handle specific data durability operations (erasure coding, parity generation) while general-purpose processors handle other tasks, resolving the contradiction by dedicating specialized resources to high-performance operations without increasing overall system complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A data processing unit acts as an intermediary component between storage systems and general-purpose processors. This intermediary contains specialized hardware accelerators that perform data durability operations, allowing the system to achieve high processing throughput without requiring complex modifications to general-purpose processor architecture.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If data is stored in fragments across multiple fault domains, then data reliability is improved, but storage overhead and device complexity increase

Engineering Contradiction:
Improvedata availabilityVSAvoidstorage management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

Data is segmented into fragments and distributed across multiple fault domains (different storage devices, racks, or data centers). This segmentation improves reliability by ensuring that data can be recovered even if some domains fail, while the automated coding schemes manage the complexity of distribution and retrieval.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system uses erasure coding schemes that transform data into encoded fragments with specific mathematical relationships. By changing the representation of data through encoding parameters, the system achieves improved reliability without proportionally increasing storage overhead, as redundant information is generated efficiently through mathematical transformations.

Inventive Principle:
Principle #35Parameter changes

3Quantity of substance

If erasure coding schemes are implemented, then storage efficiency is improved, but processing complexity and time increase

Engineering Contradiction:
Improvestorage capacity utilizationVSAvoidcoding operation complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent replaces software-based erasure coding implementations with hardware-based accelerators that perform coding operations. This substitution reduces processing complexity and time by utilizing dedicated hardware circuits optimized for mathematical operations required by erasure coding schemes, while maintaining storage efficiency benefits.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The system generates parity fragments as copies of encoded data that can be stored separately. These parity copies enable data recovery without requiring complex real-time computation during failure scenarios, as the pre-computed parity information can be directly applied to reconstruct lost data fragments.

Inventive Principle:
Principle #26Copying

4Device complexity

If hosts perform data durability operations, then device complexity is reduced, but server productivity and availability deteriorate

Engineering Contradiction:
Improvestorage system complexityVSAvoidserver task completion rate
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

Data durability operations are extracted from host servers and delegated to specialized data processing units. This extraction allows servers to focus on their primary computational tasks while the dedicated units handle encoding, decoding, and recovery operations, thereby improving server productivity without reducing storage system functionality.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Data processing units serve as intermediary components between hosts and storage systems, handling data durability operations transparently. This intermediary layer offloads processing requirements from servers, improving their availability and productivity while maintaining the complexity benefits of centralized storage management.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11340985B2Reliability coding for storage on a network
Publication Date: 2022.05.24 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11340985B2 patent drawing
  • US11340985B2 patent drawing
  • US11340985B2 patent drawing

AI summary

This disclosure describes a programmable device, referred to generally as a data processing unit, having multiple processing units for processing streams of information, such as network packets or storage packets. This disclosure also describes techniques that include enabling data durability coding on a network. In some examples, such techniques may involve storing data in fragments across multiple fault domains in a manner that enables efficient recovery of the data using only a subset of the data. Further, this disclosure describes techniques that include applying a unified approach to implementing a variety of durability coding schemes. In some examples, such techniques may involve implementing each of a plurality of durability coding and/or erasure coding schemes using a common matrix approach, and storing, for each durability and/or erasure coding scheme, an appropriate set of matrix coefficients.