RAID IO Load Distribution Across Processors

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

RAID storage systems face challenges in efficiently distributing IO load across multiple processors, particularly in improving write performance for parity protected volumes, where existing methods like larger caches and hardware-assisted fast path engines do not adequately address the need for load balancing.

Innovation Solution

A method for distributing IO load across multiple processors in RAID storage systems by selecting processors based on available resources in write-through mode and using an index-based algorithm for write-back mode, ensuring that each data stripe is processed by the same processor, and dividing write requests to span no more than one stripe.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple processors are introduced to offload processing tasks, then RAID IO performance should improve, but the complexity of load distribution and processor selection increases

Engineering Contradiction:
ImproveRAID IO performanceVSAvoidload distribution complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the IO load distribution into two distinct modes (write-through and write-back) with different distribution strategies. In write-through mode, processors are selected based on available resources, while in write-back mode, a round-robin algorithm based on stripe indices is used. This segmentation allows each mode to have an optimized distribution approach, reducing overall system complexity while maintaining high performance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic load distribution by switching between different distribution algorithms based on the operational mode. The system dynamically adapts its load distribution strategy according to whether it is operating in write-through or write-back mode, allowing optimal performance for each specific operational context while managing complexity through mode-based differentiation.

Inventive Principle:
Principle #15Dynamics

2Productivity

If write-back mode is used to improve write performance, then IO throughput increases, but data integrity risks increase due to cached writes not being immediately flushed

Engineering Contradiction:
Improvewrite performanceVSAvoiddata integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent incorporates feedback mechanisms in the write-back mode where the system tracks which processors have handled which stripes and uses this information to manage the write buffer. The feedback from processor completion status and stripe indexing enables the system to ensure all cached writes are properly flushed to disk before confirming completion to the host, thus maintaining data integrity while achieving high throughput.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

In write-back mode, the system performs preliminary actions by accumulating writes in a buffer and then flushing them to disk in batches. This preliminary buffering action allows the system to accept writes quickly without immediately writing to disk, improving throughput. The subsequent systematic flushing ensures data integrity is maintained, resolving the contradiction between speed and reliability.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If processors are selected based on available resources in write-through mode, then load balancing improves, but the overhead of resource counting and processor selection increases

Engineering Contradiction:
Improveload balancing efficiencyVSAvoidprocessor selection overhead
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements self-service by having each processor maintain its own count of available resources (such as free CPU cycles or buffer availability). When an IO request arrives, the system simply reads these pre-maintained counters to determine the best processor, eliminating the need for complex real-time resource assessment algorithms and reducing selection overhead while maintaining effective load balancing.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8769199B2Methods and systems of distributing RAID IO load across multiple processors
Publication Date: 2014.07.01 AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LTD
  • US8769199B2 patent drawing
  • US8769199B2 patent drawing
  • US8769199B2 patent drawing

AI summary

A method for distributing IO load in a RAID storage system is disclosed. The RAID storage system may include a plurality of RAID volumes and a plurality of processors. The IO load distribution method may include determining whether the RAID storage system is operating in a write-through mode or a write-back mode; distributing the IO load to a particular processor selected among the plurality of processors when the RAID storage system is operating in the write-through mode, the particular processor being selected based on a number of available resources associated with the particular processor; and distributing the IO load among the plurality of processors when the RAID storage system is operating in the write-back mode, the distribution being determined based on: an index of a data stripe, and a number of processors in the plurality of processors.