Application-Specific I/O Queues for SSD Access Control
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In shared semiconductor storage environments, existing technologies face challenges in efficiently managing access to solid state drives (SSDs) by multiple applications, leading to potential collisions and incorrect transmission of requests or responses between the host and SSD, particularly when direct access to queues is permitted for individual applications.
Innovation Solution
The implementation of dedicated I/O submission and completion queues for each application in the user space, allowing direct access without system calls, thereby avoiding collisions and ensuring correct data transfer between the host and SSD.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple applications share a single SSD with common I/O queues, then device utilization is improved, but request collision and data transmission errors occur
Solution Approach 1:
The patent divides the shared I/O queue into multiple application-specific queues, with each application having its dedicated submission queue and completion queue. This segmentation prevents request collisions between applications while maintaining efficient SSD utilization through parallel queue processing.
2Productivity
If direct queue access is permitted for applications, then system call overhead is reduced, but queue collision and access conflicts occur
Solution Approach 1:
The patent implements separate I/O queues for each application, allowing direct access without system calls. Each application's dedicated queue eliminates access conflicts while maintaining high I/O efficiency through user-space queue operations.
Solution Approach 2:
The patent assigns specific queue regions to each application with defined access permissions. Applications can directly access their own queues with full permissions while being restricted from accessing other applications' queues, ensuring both efficiency and safety through localized access rights.
3Device complexity
If a single I/O queue is shared among applications, then device complexity is reduced, but request mixing and processing errors occur
Solution Approach 1:
The patent creates multiple segmented queues within the SSD, with each queue dedicated to a specific application. This segmentation maintains a relatively simple overall structure while ensuring precise request processing by preventing mixing of different applications' I/O requests.
Data Source
AI summary
A computing device includes a memory and a processor connected to the memory and configured to: create, in a first memory space of the memory, a first I/O submission queue associated with a first application running in user space; create, in a second memory space of the memory, a second I/O submission queue associated with a second application running in user space; in response to a first I/O request from the first application, store the first I/O request in the first I/O submission queue for access by the semiconductor storage device; and in response to a second I/O request from the second application, store the second I/O request in the second I/O submission queue for access by the semiconductor storage device.


