Storage System I/O Thread Segmentation for Cloud Response Delays

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional storage systems experience degradation in I/O performance due to time-outs in I/O responses from cloud storage, leading to a standby state where other I/O requests cannot be accepted.

Innovation Solution

A storage system with a processor that manages I/O processing threads and response standby processing threads, where the processor transmits I/O requests to cloud storage, performs standby processing, and transfers resources to response standby threads to handle delayed responses, ensuring continued I/O processing without new requests until the response is received.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the host reissues I/O requests to deter time-out, then the time-out of I/O response is prevented, but the I/O performance degrades because other I/O requests cannot be accepted and the system enters standby state

Engineering Contradiction:
Improvetime-out preventionVSAvoidI/O performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the I/O processing into multiple independent threads: I/O processing threads that handle new I/O requests and response standby processing threads that handle delayed I/O responses. This segmentation allows the system to prevent time-outs for specific I/O requests without blocking other I/O requests, thereby maintaining overall I/O performance while ensuring reliability for individual operations.

Inventive Principle:
Principle #1Segmentation

2Reliability

If the system waits for I/O response from cloud storage, then the correct I/O response is received, but the system enters standby state and cannot accept new I/O requests

Engineering Contradiction:
ImproveI/O response accuracyVSAvoidsystem idle time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent enables continuous I/O processing by creating response standby processing threads that take over when I/O responses are delayed. While one thread waits for the delayed response, other I/O processing threads continue to accept and process new I/O requests without interruption. This ensures both reliable receipt of the original I/O response and continuous system productivity.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The patent prepares response standby processing threads in advance that can immediately take over when an I/O response is delayed. These pre-positioned threads have the necessary I/O resources (buffers, information) already allocated and ready, allowing them to immediately continue waiting for the response without requiring the original thread to be blocked, thus preventing system-wide standby states.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20240289023A1Storage system and I/O request processing method for storage system
Publication Date: 2024.08.29 HITACHI VANTARA LTD
  • US20240289023A1 patent drawing
  • US20240289023A1 patent drawing
  • US20240289023A1 patent drawing

AI summary

Regarding cloud storage, a time-out of an I/O response to an I/O request from a host is deterred. A storage node 1 executes an I/O processing thread 101 for retaining an I/O resource to be used for processing relating to an I/O request and an I/O response to the I/O request, and a response standby processing thread. The I/O processing thread: transmits an I/O request to cloud storage in response to a request from a host; and moves the I/O resource to the response standby processing thread if not having received the I/O response from the cloud storage before an elapse of first time-out time. The response standby processing thread transmits a response confirmation to demand the I/O response from the cloud storage by using the I/O resource moved from the I/O processing thread and performs standby processing on the I/O response in place of the I/O processing thread.