User-Mode Storage Driver Request Merging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

High-speed storage devices require efficient management of access requests to maximize their potential, as traditional drivers implemented in a kernel state fail to optimize data access performance across various types of data operations.

Innovation Solution

A method and apparatus that acquire and arrange access requests based on address ranges, merging consecutive requests to form a single merged request, executed in a user state to avoid kernel context switching and reduce CPU workload, thereby improving data access efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional drivers implemented in kernel state are used to manage access requests, then system stability is maintained, but data access performance is not optimized and CPU processing costs increase

Engineering Contradiction:
Improvedata access performanceVSAvoidCPU processing costs
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent extracts the storage driver from the kernel state and implements it in user state. This allows the driver to be invoked through system calls without entering kernel mode, thereby reducing CPU processing costs and avoiding the performance penalties associated with kernel context switching while maintaining data access performance.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent merges multiple scattered access requests into a single merged request by arranging addresses based on address ranges and combining consecutive requests. This batching approach reduces the number of separate CPU processing cycles needed and improves data access performance by minimizing context switching overhead.

Inventive Principle:
Principle #5Merging (Combining)

2Productivity

If multiple scattered access requests are processed separately, then each request is handled independently, but CPU processing costs increase and data access efficiency decreases

Engineering Contradiction:
Improvedata access efficiencyVSAvoidCPU processing time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent merges multiple scattered access requests into a single merged request by arranging addresses based on address ranges and combining consecutive requests. This batching approach reduces the number of separate CPU processing cycles needed and improves data access performance by minimizing context switching overhead.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent performs preliminary arrangement of access request addresses based on address ranges before executing the data access operation. This pre-sorting and grouping of requests enables more efficient processing by consolidating consecutive addresses, thereby reducing overall CPU processing time.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If driver is implemented in user state to reduce CPU workload, then instruction cycles are allocated for actual data processing, but system stability requirements must be maintained

Engineering Contradiction:
Improveinstruction cycle allocation for data processingVSAvoidsystem stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent extracts the storage driver from the kernel state and implements it in user state. This allows the driver to be invoked through system calls without entering kernel mode, thereby reducing CPU processing costs and avoiding the performance penalties associated with kernel context switching while maintaining data access performance.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11474712B2Method, apparatus, device and storage medium for managing access request
Publication Date: 2022.10.18 BEIJING BAIDU NETCOM SCI & TECH CO LTD
  • US11474712B2 patent drawing
  • US11474712B2 patent drawing
  • US11474712B2 patent drawing

AI summary

A method, an apparatus, a device, and a storage medium for managing an access request are provided. The method includes acquiring a group of access requests for performing data access to a storage device in a computing system, the group of access requests indicating access operations for a group of addresses in the storage device respectively; arranging an order of the group of addresses based on address ranges of the addresses of the group of addresses in the storage device; generating a merged request based on at least one part of the access requests with consecutive addresses among the group of access requests with the arranged addresses; and executing a data access operation on the storage device based on the merged request, the method being implemented in a driver of the storage device, and the driver being implemented in a user state of the computing system.