Peer RAID Controller Reduces Host Overhead

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data storage systems require host or intermediate resources for RAID configuration and control, adding complexity and overhead between the host system and storage devices.

Innovation Solution

Implementing a peer-to-peer communication channel among storage devices to enable a storage device to act as a master RAID controller, managing RAID configuration and control without relying on host or intermediate resources, using a processor, memory, and a non-volatile storage medium with a peer RAID controller for executing RAID operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a storage device acts as a master RAID controller using peer-to-peer communication, then device complexity and overhead are reduced, but communication reliability among peer devices becomes more critical

Engineering Contradiction:
ImproveRAID controller overheadVSAvoidpeer communication reliability
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent introduces a peer-to-peer communication channel as an intermediary mechanism that enables direct communication between storage devices without requiring host or intermediate controller resources. This mediator layer handles RAID control messages and coordination protocols, allowing devices to autonomously manage RAID operations while maintaining communication reliability through dedicated communication pathways.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

Storage devices are empowered to perform self-service RAID control operations by executing RAID controller logic locally. Each peer device can independently participate in RAID decision-making, data distribution, and recovery operations without external intervention, thereby eliminating the need for centralized controller overhead while maintaining system reliability through distributed intelligence.

Inventive Principle:
Principle #25Self-service

2Adaptability or versatility

If RAID control is distributed among peer storage devices, then system scalability is improved, but coordination complexity among devices increases

Engineering Contradiction:
Improvesystem scalabilityVSAvoidcoordination complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The RAID control functionality is segmented and distributed across multiple peer storage devices rather than centralized in a single controller. Each device holds a portion of the RAID control logic and can independently execute segmented tasks such as local data striping, parity calculation, and error correction, enabling scalable system growth without proportionally increasing coordination complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each peer storage device is designed with universal capabilities to perform multiple RAID control functions simultaneously. Devices can act as both data storage units and RAID control participants, executing diverse operations including data I/O, parity generation, error recovery, and coordination messaging through a unified peer-to-peer interface, thereby simplifying coordination while enhancing scalability.

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

Data Source

PatentUS12019917B2Peer RAID control among peer data storage devices
Publication Date: 2024.06.25 WESTERN DIGITAL TECHNOLOGIES INC
  • US12019917B2 patent drawing
  • US12019917B2 patent drawing
  • US12019917B2 patent drawing

AI summary

Example storage systems, data storage devices, and methods provide redundant array of independent disk (RAID) control among peer storage devices. A master storage device among peer storage devices receives host commands and determines, based on a peer RAID configuration, data blocks for redundantly storing the host data unit among the peer storage devices. The master storage device allocates the data blocks among the peer storage devices and sends them to the peer storage devices using a peer communication channel.