Virtualized OCSSD Channel Mapping for Multi-App Isolation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional SSD architectures with multiple software layers result in high transaction overhead and limited scalability for open-channel solid-state drives (OCSSDs), as they cannot efficiently virtualize OCSSDs across multiple physical channels while ensuring security and performance isolation.
Innovation Solution
A system that virtualizes OCSSDs across multiple physical channels by providing software and/or hardware logic to create virtualized OCSSDs, allowing direct access to OCSSD hardware without intervening software layers, ensuring security and performance isolation through logical mapping of virtual block addresses to physical block addresses.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If direct access to OCSSD hardware is provided without intervening software layers, then access efficiency and performance are improved, but the number of applications that can access storage is limited by the number of physical channels
Solution Approach 1:
The patent introduces a virtualization layer that acts as an intermediary between applications and physical OCSSD channels. This virtualization layer creates virtual OCSSD channels that can be allocated to multiple applications, allowing more applications to access storage simultaneously while maintaining direct hardware access performance. The virtualization layer translates virtual channel requests into physical channel operations without requiring traditional software layers.
Solution Approach 2:
The patent segments the limited physical OCSSD channels into multiple virtual channels through virtualization. Each physical channel is divided into multiple virtual channels that can be independently allocated to different applications. This segmentation allows the system to support more applications than there are physical channels while maintaining efficient direct hardware access.
2Productivity
If multiple applications share OCSSD storage, then resource utilization is improved, but security isolation and performance isolation become difficult to ensure
Solution Approach 1:
The patent segments OCSSD resources (channels, storage units) into isolated virtual allocations for each application. The virtualization layer creates distinct virtual channels and storage spaces for each application, ensuring that applications cannot access resources allocated to other applications. This segmentation provides both security isolation and performance isolation while allowing multiple applications to share the underlying physical hardware.
3Ease of operation
If traditional software layers are used for storage access, then resource management and throttling are simplified, but transaction overhead increases significantly
Solution Approach 1:
The patent introduces a virtualization layer as a lightweight intermediary that provides resource management capabilities without the overhead of traditional software layers. This virtualization layer handles channel allocation, storage unit assignment, and throttling operations directly at the hardware interface level, eliminating the need for multiple software layers while maintaining simplified resource management.
Data Source
AI summary
A system includes reception of a request from a first application to create a virtual open-channel solid state drive associated with a first bandwidth and first capacity, association, in response to the request, of block addresses of a virtual address space of the first application with block addresses of one or more blocks of a first one of a first plurality of channels of a first open-channel solid state drive and with block addresses of one or more blocks of a second one of the first plurality of channels, reception, from the first application, of a first I/O call associated with one or more block addresses of the virtual address space, determination of block addresses of one or more blocks of the first one of the first plurality of channels which are associated with the one or more block addresses of the virtual address space, and execution of the first I/O call on the determined block addresses of one or more blocks of the first one of the first plurality of channels.


