Distributed Front-End RAID Without Controller Dataflow Bottlenecks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional RAID systems are inefficient due to dataflow bottlenecks, reliance on RAID controllers for data management, and complex management of storage space, leading to reduced performance and increased costs for data availability.

Innovation Solution

A front-end distributed RAID system that allows RAIDing on a per-data segment or file basis, eliminating the need for RAID controllers by distributing RAID control functions among clients, third-party devices, or storage devices, and enabling direct data access and parity generation within storage devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If a RAID controller is used to manage all data storage operations, then data management and RAID functionality are centralized, but dataflow bottlenecks occur and performance deteriorates

Engineering Contradiction:
ImproveRAID control centralizationVSAvoiddataflow throughput
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent divides the RAID control function into segments distributed across multiple storage devices. Each storage device autonomously manages its own data segments, calculating parity and handling read-modify-write operations locally rather than funneling all traffic through a central controller. This segmentation eliminates the dataflow bottleneck while maintaining centralized RAID functionality through distributed intelligence.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Storage devices perform self-service by autonomously calculating parity data segments and managing their own RAID operations. The system eliminates the need for a dedicated RAID controller by enabling storage devices to self-manage their data, including computing parity, tracking location updates, and handling reconstruction operations without external intervention.

Inventive Principle:
Principle #25Self-service

2Reliability

If storage devices are partitioned to separate RAID and general storage access, then RAID functionality can be isolated, but access complexity increases and management becomes difficult

Engineering Contradiction:
ImproveRAID isolationVSAvoidpartitioning scheme
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements a universal storage device architecture where each device can serve dual purposes: participating in RAID groups for redundancy and serving as independent storage devices for general access. Storage devices are not locked into exclusive RAID partitions but can dynamically serve both RAID and standalone functions, eliminating complex partitioning schemes while maintaining reliability.

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

Solution Approach 2:

The system dynamically assigns storage devices to different RAID groups based on data access patterns and requirements. A storage device can be a member of multiple RAID groups simultaneously, and its role can change dynamically rather than being fixed by static partitions. This dynamic reconfiguration simplifies management while maintaining isolation and reliability.

Inventive Principle:
Principle #15Dynamics

3Reliability

If RAID controllers cross-connect to drives and each other for data availability, then data remains available during controller failure, but system cost and complexity increase dramatically

Engineering Contradiction:
Improvedata availabilityVSAvoidcontroller cross-connection
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the RAID control functionality from dedicated controllers and embeds it directly into storage devices. By removing the central controller and distributing intelligence to storage devices, the system eliminates the need for complex cross-connections between controllers while maintaining data availability through distributed redundancy and autonomous parity management.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Instead of cross-connecting controllers to replicate functionality, the patent copies RAID intelligence directly into each storage device. Each device maintains local copies of parity information and reconstruction data, enabling data availability without requiring complex inter-controller communication paths or cross-connections.

Inventive Principle:
Principle #26Copying

4Ease of operation

If parity data segments are generated and stored by RAID controllers, then parity management is centralized, but computing capacity is consumed and tracking becomes complex

Engineering Contradiction:
Improveparity management centralizationVSAvoidcomputing capacity
Core Design Contradiction:
Ease of operationVSPower

Solution Approach 1:

Storage devices autonomously generate, store, and track their own parity data segments without requiring central controller intervention. Each device independently calculates parity for its assigned data segments, manages parity location tracking, and handles parity reconstruction operations locally, eliminating the computing burden on centralized controllers while maintaining centralized parity management functionality.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS20110296277A1Apparatus, system, and method for a front-end, distributed raid
Publication Date: 2011.12.01 SANDISK TECHNOLOGIES LLC
  • US20110296277A1 patent drawing
  • US20110296277A1 patent drawing
  • US20110296277A1 patent drawing

AI summary

An apparatus, system, and method are disclosed for a front-end, distributed redundant array of independent drives (“RAID”). A storage request receiver module receives a storage request to store object or file data in a set of autonomous storage devices forming a RAID group. The storage devices independently receive storage requests from a client over a network, and one or more of the storage devices are designated as parity-mirror storage devices for a stripe. The striping association module calculates a stripe pattern for the data. Each stripe includes N data segments, each associated with N storage devices. The parity-mirror association module associates a set of the N data segments with one or more parity-mirror storage devices. The storage request transmitter module transmits storage requests to each storage device. Each storage request is sufficient to store onto the storage device the associated data segments. The storage requests are substantially free of data.