RAID Controller Command Sorting for Disk Access Delay

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional RAID controllers experience access time delays due to mechanical limitations and simultaneous access to multiple HDDs, leading to decreased RAID performance.

Innovation Solution

A RAID controller with a receiving module, splitting module, and transceiver that translates read/write commands into instructions, sorts them for optimized execution sequence, and transmits them to data storages in parallel, utilizing a double linked list to manage execution and receive IRQ signals for efficient operation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the conventional RAID controller simultaneously sends access commands to multiple HDDs, then the theoretical data access speed should be improved, but access time delay occurs due to mechanical limitations and bus coupling

Engineering Contradiction:
Improvedata access speedVSAvoidaccess time delay
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The patent applies preliminary action by analyzing and sorting the execution sequence of instructions before they are sent to the HDDs. The controller pre-determines the optimal execution order of read/write commands based on the current states of multiple disks, so that when commands are executed, they follow an optimized sequence that minimizes access time delays. This prevents the mechanical bottlenecks from causing excessive delays by having already arranged commands in the most efficient order possible.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements dynamics by making the command execution sequence adaptive rather than static. The controller dynamically adjusts the execution order of commands based on real-time conditions of the HDDs (such as which disks are currently being accessed, their rotational positions, and queue states). This dynamic sequencing allows the system to optimize data access speed while accounting for the mechanical limitations of rotating disk drives, thereby reducing access time delays that would occur with rigid simultaneous execution.

Inventive Principle:
Principle #15Dynamics

2Productivity

If multiple HDDs are coupled to a bus for parallel access, then the data storage capacity and speed are enhanced, but access time delay increases due to bus arbitration and priority-based execution

Engineering Contradiction:
ImproveRAID performanceVSAvoidaccess time delay
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The controller performs preliminary sorting of commands before they enter the bus arbitration process. By pre-analyzing which commands can be executed in parallel and which must be sequentialized, the controller minimizes the impact of bus arbitration delays. Commands are arranged in the optimal execution sequence beforehand, so that when they reach the bus, the arbitration process causes minimal disruption to the overall execution flow, thereby maintaining high RAID performance while reducing access time delays.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent ensures continuity of useful action by overlapping command execution across multiple HDDs as much as possible. While some commands must wait for bus arbitration, the controller continuously issues new commands to available disks, ensuring that the bus is utilized efficiently and that no disk remains idle when it could be processing data. This continuous utilization of multiple disks maintains high productivity while minimizing the overall access time delay caused by bus sharing.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS7600074B2Controller of redundant arrays of independent disks and operation method thereof
Publication Date: 2009.10.06 VIA TECH INC
  • US7600074B2 patent drawing
  • US7600074B2 patent drawing
  • US7600074B2 patent drawing

AI summary

A controller and operation method for RAID (Redundant Array of Independent Disks) is provided. The controller includes a receiving module, a splitting module, a sorting module and a transceiver. And the operation method includes the following steps. First, at least one read/write command is received from a command source. Next, the read/write command is translated into a plurality of instructions. Sequentially, the instructions are sorted after the execution sequence of the instructions is analyzed. And then, the instructions are transmitted to a plurality of data storages correspondingly. Finally, an IRQ (Interrupt Request) signal is received from each of the data storages.