OS Storage Program I/O Bypass via Volume Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing storage programs operating on an operating system face challenges in maintaining I/O performance due to increased traffic between the OS and the storage program, leading to potential decreases in I/O bandwidth and efficiency.

Innovation Solution

A computer system with a processor executing the OS and a storage program that operates on the OS, utilizing a memory queue for communication data and volume management information to determine the necessity of processing I/O requests, thereby optimizing I/O performance by bypassing unnecessary storage program processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If a storage program is operated on an OS to improve portability and development efficiency, then portability and development efficiency are improved, but I/O performance may decrease due to increased traffic between the OS and the storage program

Engineering Contradiction:
Improveportability and development efficiencyVSAvoidI/O performance
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent segments I/O request processing into two paths: simple requests are handled directly by the OS without involving the storage program, while complex requests requiring storage functions are routed to the storage program. This segmentation reduces unnecessary communication overhead while maintaining the benefits of operating the storage program on the OS.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a determination mechanism that acts as an intermediary between the OS and the storage program. This intermediary evaluates each I/O request against volume management information to decide whether storage program processing is necessary, thereby optimizing the communication flow and maintaining I/O performance.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If all I/O requests are processed by the storage program to ensure proper storage function application, then storage function reliability is improved, but I/O bandwidth decreases due to increased processing overhead

Engineering Contradiction:
Improvestorage function applicationVSAvoidI/O bandwidth
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent applies partial action by processing only those I/O requests that require storage functions through the storage program. Requests that do not require storage functions are handled directly by the OS, avoiding unnecessary processing overhead and preserving I/O bandwidth while ensuring storage functions are applied where needed.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system uses volume management information as feedback to determine whether each I/O request requires storage program processing. This feedback mechanism ensures that storage functions are reliably applied to appropriate requests while avoiding unnecessary processing for requests that don't require it, thus maintaining both reliability and I/O bandwidth.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10740040B2System and computer for controlling caching for logical storage
Publication Date: 2020.08.11 HITACHI VANTARA LTD
  • US10740040B2 patent drawing
  • US10740040B2 patent drawing
  • US10740040B2 patent drawing

AI summary

The computer system executes a storage program that operates on an OS to provide a logical volume to a host. The computer system includes volume management information including information on a storage function to be applied to the logical volume provided by the storage program. Upon receiving an I/O request for the logical volume from the host, the OS determines whether it is necessary for the storage program to perform an I/O process on the basis of the information on the storage function to be applied to the logical volume by referring to the volume management information. When it is determined that the I/O process is necessary, the OS communicates with the storage program and the storage program executes the I/O process. When it is determined that it is not necessary for the storage program to perform the I/O process, the OS outputs an I/O response to the host.