User-Mode Storage Driver Request Merging
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
Data Source
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.


