Storage Memory Driver for General Purpose OS I/O Overhead

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

General purpose operating systems face performance deterioration in storage processing due to high overhead when starting processing processes, which is not effectively addressed by existing techniques.

Innovation Solution

A computer system with multiple servers connected via a communication line, where one server acts as a request source and another as a request destination, allowing the request source server to execute a storage program to transmit data read requests and the request destination server to execute a storage memory driver to read and transmit data without starting a new processing process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a general purpose OS is used with a series of processing steps (receiving interrupt request, notifying processing process, executing storage processing), then the system can utilize general purpose hardware and maintain flexibility, but the overhead of starting a new processing process deteriorates I/O processing performance

Engineering Contradiction:
Improveutilization of general purpose OSVSAvoidI/O processing performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent extracts the storage processing functionality from the general purpose OS kernel and implements it as a user-space storage process. This separation allows the OS to handle I/O requests without the overhead of starting new kernel processing processes, while still utilizing general purpose hardware. The storage process runs independently in user space, eliminating the need for repeated process startup overhead.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces a communication mechanism (such as shared memory or inter-process communication interfaces) as an intermediary between the OS kernel and the storage process. This intermediary allows efficient data exchange without requiring the kernel to directly manage storage processing, thus reducing overhead while maintaining system flexibility.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If dedicated LSI is used for storage device hardware, then storage processing performance can be optimized, but system cost increases

Engineering Contradiction:
Improvestorage processing performanceVSAvoidsystem cost
Core Design Contradiction:
ProductivityVSEase of manufacture

Solution Approach 1:

The patent implements a self-service architecture where the storage process independently manages storage operations without requiring dedicated hardware controllers. The general purpose CPU executes storage programs and manages data access patterns, allowing the system to achieve optimized storage performance through software intelligence rather than expensive dedicated hardware.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent changes the operational parameters of general purpose hardware by implementing intelligent data access patterns, caching strategies, and request scheduling algorithms in the storage process. This transforms ordinary hardware into high-performance storage system by optimizing how data is accessed and processed, eliminating the need for dedicated LSI while maintaining performance.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11061851B2Computer system, processing method, and driver program
Publication Date: 2021.07.13 HITACHI VANTARA LTD
  • US11061851B2 patent drawing
  • US11061851B2 patent drawing
  • US11061851B2 patent drawing

AI summary

A computer system includes a plurality of servers connected to each other via a communication line, each server including a memory and a processor, an OS program and a storage program. The storage program is executed by the processor, and one of the plurality of servers acts as a request source server while one of the other servers acts as a request destination server. When the request source server reads data from the request destination server, the processor of the request source server executes the storage program to transmit a data read request to the request destination server. The processor of the request destination server then executes a storage memory driver incorporated in the OS program to read the requested data from an own memory and transmit the read data to the request source server. The request source server then executes the storage program to acquire the data.