Storage Relay Unit Load Balancing Controller

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In storage systems, it is challenging for host computers to evenly distribute I/O requests across multiple storage devices, leading to high processing loads on processors that handle these requests, which can degrade overall system performance.

Innovation Solution

A storage system with multiple controllers and a relay unit that determines which processor module processes I/O commands, allowing for the notification of storage location information or transfer of commands between controllers to distribute processing loads effectively.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If a processor receives and processes I/O requests directly, then the processing speed is fast, but the processing load on the processor becomes high

Engineering Contradiction:
ImproveI/O request processing speedVSAvoidprocessor processing capacity
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent extracts the I/O request processing function from the processor by introducing a dedicated I/O processing unit. The processor only needs to issue I/O requests to the storage device, while the I/O processing unit handles the actual data transfer and processing, thereby reducing the processor's workload and allowing it to focus on other computational tasks.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces an I/O processing unit as an intermediary between the processor and the storage device. This intermediary component receives I/O requests from the processor, manages the data transfer to/from the storage device, and handles the I/O completion notifications, thereby shielding the processor from the high processing load of direct I/O management.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If multiple storage devices form a cluster, then system availability is improved, but the host computer cannot evenly distribute I/O requests across them

Engineering Contradiction:
Improvestorage system availabilityVSAvoidI/O request distribution
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent introduces an I/O processing unit as an intermediary that manages the distribution of I/O requests to multiple storage devices in the cluster. This intermediary component can implement load balancing algorithms and request routing strategies to evenly distribute I/O operations across available storage devices, eliminating the need for the host computer to manually manage the distribution.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent changes the parameter of request distribution from host-controlled to system-controlled by implementing dynamic load balancing in the I/O processing unit. The system can adjust distribution parameters such as request routing decisions, load balancing weights, and device selection criteria based on real-time storage device status and performance metrics.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10229062B2Storage system, storage control method, and relay device
Publication Date: 2019.03.12 HITACHI VANTARA LTD
  • US10229062B2 patent drawing
  • US10229062B2 patent drawing
  • US10229062B2 patent drawing

AI summary

A storage system includes a plurality of controllers each including a processor module and a memory, and a relay unit to relay a communication between the processor modules. The relay unit executes assignment determination to determine one of the processor module of a first controller and the processor module of a second controller is a processor module processing a command stored in the memory. The first controller includes memory storing the command, and the second controller is any of the controllers other than the first controller. When the relay unit determines the command of the processor module of the first controller, the relay unit notifies storage location information of the command to the processor module of the first controller, and when the relay unit determines the command to be processed by the processor module of the second controller, the relay unit transfer the command to the second controller.