Vector-DMA Cache-XOR Engine for Multi-Erasure MPCC Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current RAID5/6 systems with multiple XOR-engines face inefficiencies due to silicon die-area usage, non-programmability, and inability to handle more than five erasures effectively, leading to idle hardware and performance penalties in data storage clusters and cloud storage environments.

Innovation Solution

A vector-DMA cache-XOR engine is introduced, sharing a single XOR-engine with caches and a vector-DMA address generator to accelerate M parities parallel calculations and erasures cross-iteration decoding, utilizing pipelined DDR4 memory accesses and zero-copy packet operations for efficient data recovery in RAID storage clusters and cloud storage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple XOR-engines are used in parallel, then erasure recovery capability is improved, but silicon die-area and hardware cost increase

Engineering Contradiction:
Improveerasure recovery capabilityVSAvoidsilicon die-area
Core Design Contradiction:
ReliabilityVSArea of stationary object

Solution Approach 1:

The patent merges multiple XOR-engine functions into a single reconfigurable XOR-engine that can dynamically adapt to handle different numbers of erasures. This single engine replaces what would traditionally require multiple dedicated XOR-engines, reducing silicon die-area while maintaining the capability to recover from multiple erasures through software-defined reconfiguration.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The reconfigurable XOR-engine is designed to perform multiple functions - it can handle different numbers of parities and erasures by changing its operational mode through software control. This universal design allows one hardware component to replace multiple dedicated components, reducing hardware cost and die-area while maintaining comprehensive erasure recovery capability.

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

2Speed

If dedicated XOR-engines are allocated for each parity, then parallel calculation speed is improved, but hardware utilization efficiency deteriorates

Engineering Contradiction:
Improveparallel calculation speedVSAvoidhardware utilization efficiency
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The XOR-engine transitions from a static, dedicated design to a dynamic, reconfigurable architecture. The engine can change its operational characteristics on-the-fly to match the actual computation needs, adjusting its parallel processing capacity dynamically. This allows the hardware to maintain high utilization efficiency while still achieving parallel calculation speeds when needed.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the operational parameters of the XOR-engine through software control, allowing it to adapt its behavior to different workloads. By modifying parameters such as the number of active parity calculations and data flow patterns, the engine optimizes both speed and utilization efficiency without requiring multiple dedicated hardware units.

Inventive Principle:
Principle #35Parameter changes

3Speed

If multiple FIFO buffers and DMA-engines are allocated, then read performance is improved, but device complexity and hardware cost increase

Engineering Contradiction:
Improveread performanceVSAvoidhardware structure complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent employs a universal buffer and DMA architecture that serves multiple functions - handling data transfer for different numbers of parities and erasures. This single reconfigurable buffer-DMA system replaces what would traditionally require multiple dedicated buffers and DMA-engines, reducing device complexity and hardware cost while maintaining high read performance through efficient resource sharing.

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

4Ease of manufacture

If fixed-configuration XOR-engines are used, then hardware implementation is simplified, but adaptability to different erasure scenarios deteriorates

Engineering Contradiction:
Improvehardware implementation simplicityVSAvoiderasure scenario adaptability
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The patent implements a dynamic reconfiguration mechanism that allows a single XOR-engine to adapt to different erasure scenarios. The engine maintains a relatively simple hardware structure but adds software-controlled reconfiguration capability, enabling it to change its operational mode to match different parity and erasure configurations without requiring completely different hardware designs.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The reconfigurable XOR-engine changes its operational parameters through software control to adapt to different erasure scenarios. By modifying parameters such as the number of active parity units and data routing patterns, the engine achieves high adaptability while maintaining relatively simple hardware implementation compared to having multiple dedicated engines for each scenario.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9571125B2Systems and methods of vector-DMA cache-XOR for MPCC erasure coding
Publication Date: 2017.02.14 FUTUREWEI TECHNOLOGIES INC
  • US9571125B2 patent drawing
  • US9571125B2 patent drawing
  • US9571125B2 patent drawing

AI summary

System and method embodiments are provided for managing storage systems. In an embodiment, a network component for managing data storage includes a storage interface configured to couple to a plurality of storage devices; and a vector-direct memory access (DMA) cache-exclusive OR (XOR) engine coupled to the storage interface and configured for a multiple parities convolution codes (MPCC) erasure coding to accelerate M parities parallel calculations and the erasures cross-iterations decoding, wherein a single XOR-engine with caches and a vector-DMA address generator is shared by the MPCC erasure coding engine for pipelining external dual data rate (DDR4) memory accesses, where M is a positive integer greater than two.