User Space Block Device IO Transfer Mechanism
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current storage systems face inefficiencies in IO load balancing and submission, as they rely on kernel space-based functionality, which requires additional resources and time, limiting throughput and efficiency.
Innovation Solution
Implementing user space block devices and kernel space block devices to enable IO load balancing and submission functionality in the user space, allowing applications to distribute IO operations across multiple paths without relying on kernel space-based IO stacks and interrupts.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If kernel space block devices are used for IO operations, then applications can access storage systems through standard kernel interfaces, but IO operations require additional kernel space resources and processing time which reduces throughput and efficiency
Solution Approach 1:
The patent introduces a user space block device as an intermediary component that receives IO operations from applications through kernel space block devices and forwards them to storage systems. This mediator enables kernel space applications to utilize user space IO processing capabilities, achieving both interface compatibility and improved throughput by bypassing kernel space processing bottlenecks.
2Ease of operation
If kernel space IO stacks and interrupts are used for pathing and communication, then standard device communication protocols are maintained, but additional resources and time are consumed which limits efficiency
Solution Approach 1:
The patent extracts the IO processing functionality from kernel space to user space by implementing a user space block device. This extraction removes the dependency on kernel space IO stacks and interrupts for time-consuming operations, while maintaining standard communication protocols through the block device interface. The user space implementation handles pathing and communication without kernel space overhead.
3Productivity
If user space block devices are implemented to improve IO efficiency, then throughput and processing speed increase, but additional complexity is introduced in interfacing kernel space applications with user space functionality
Solution Approach 1:
The patent creates a user space block device that replicates the functionality of kernel space block devices. This copying approach allows kernel space applications to interact with storage systems through familiar block device interfaces while the actual IO processing occurs in user space. The duplicated interface abstracts the complexity, presenting a standard kernel space interface to applications while leveraging user space efficiency.
Data Source
AI summary
An apparatus in one embodiment comprises a host device comprising a processor coupled to memory. The host device is configured to communicate over a network with at least one storage system. The host device is further configured to generate a user space block device and to generate a kernel space block device corresponding to the user space block device. The host device is further configured to receive an input-output operation at the kernel space block device from an application executing on the host device and to transfer the input-output operation from the kernel space block device to the corresponding user space block device. The host device is further configured to submit the input-output operation to the at least one storage system based at least in part on the user space block device.


