RAID Controller Bypass via Direct Memory Access Data Path

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional RAID storage techniques face inefficiencies due to hardware RAID controllers becoming bottlenecks during write operations and significant CPU resources being devoted to software RAID implementations, limiting resources for other requests.

Innovation Solution

Implementing a direct memory access (DMA) data path for RAID storage, where the RAID controller uses DMA to read data from host memory and compute parity information, then instructs storage devices to directly read and write data from host memory, thereby bypassing the RAID controller in the data path.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a hardware RAID controller is used to implement RAID algorithm, then data redundancy and storage performance are improved, but the RAID controller becomes a bottleneck during write operations

Engineering Contradiction:
Improvedata redundancyVSAvoidwrite operation speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts the data transfer function from the RAID controller by enabling storage devices to directly access host memory via DMA channels. This removes the bottleneck of data copying through the RAID controller while maintaining its parity computation and redundancy management functions.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces host memory as an intermediary between the host and storage devices. Storage devices read/write data directly from host memory using DMA, bypassing the RAID controller for data transfer while the controller maintains oversight for RAID operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If the host CPU implements RAID algorithm using software, then hardware resources are saved, but significant computational resources of the CPU are devoted to RAID tasks

Engineering Contradiction:
Improvehardware configurationVSAvoidCPU computational resources
Core Design Contradiction:
Device complexityVSUse of energy by moving object

Solution Approach 1:

The patent enables storage devices to autonomously perform data transfer operations by directly accessing host memory through DMA. This self-service capability eliminates the need for CPU intervention in data transfer, freeing computational resources while maintaining software-based RAID flexibility.

Inventive Principle:
Principle #25Self-service

3Reliability

If the RAID controller reads and processes data through its internal path, then data integrity and RAID algorithm implementation are ensured, but processing speed is reduced due to the controller bottleneck

Engineering Contradiction:
Improvedata integrityVSAvoiddata processing speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent segments the RAID controller's functions into two parts: data transfer operations are handled directly by storage devices via DMA, while the controller focuses on parity computation and RAID management. This segmentation allows parallel execution of data transfer and processing tasks.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent adds a new dimension to the data path by introducing direct DMA access between storage devices and host memory. This creates a parallel data transfer channel that operates independently of the traditional controller-mediated path, increasing overall system throughput.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentEP4155940B1Direct memory access data path for raid storage
Publication Date: 2025.02.12 GRAID TECH INC
  • EP4155940B1 patent drawingFigure 1
  • EP4155940B1 patent drawingFigure 2
  • EP4155940B1 patent drawingFigure 3

AI summary

Direct memory access data path for RAID storage is disclosed, including: receiving, at a Redundant Array of Independent Disks (RAID) controller, a request to write data to be distributed among a plurality of storage devices; computing parity information based at least in part on the data associated with the request; causing the parity information to be stored on a first subset of the plurality of storage devices; and causing the data associated with the request to be stored on a second subset of the plurality of storage devices, wherein the plurality of storage devices is configured to obtain the data associated with the request directly from a memory that is remote to the RAID controller, and wherein the data associated with the request does not pass through the RAID controller.