Software-Enabled Flash Abstraction Layer for Multi-Tenant QoS
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In heterogeneous datacenter environments, the degradation of service level for applications due to software-hardware separation in non-volatile memory storage devices leads to increased latency and performance issues, as multiple tenants share the same die and queue, causing noisy neighbor effects and bottlenecks.
Innovation Solution
The implementation of Software Enabled Flash (SEF) devices with an abstraction layer that manages abstracted memory structures, allowing for virtual devices and QoS domains to allocate multi-tenant volumes, enabling NAND-aware storage and offloading Flash Translation Layer (FTL) functions from the host, thereby isolating applications and optimizing resource usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If multiple tenants share the same die and queue in non-volatile memory storage devices, then storage capacity is maximized, but latency increases and performance degrades due to noisy neighbor effects
Solution Approach 1:
The patent segments the shared die into multiple isolated queues, with each queue dedicated to a specific tenant. This segmentation allows multiple tenants to utilize the same physical die simultaneously without their operations interfering with each other, thus maintaining high storage capacity utilization while reducing latency caused by noisy neighbor effects. The controller manages these segmented queues to ensure fair and efficient resource allocation.
2Adaptability or versatility
If software manages hardware storage layers without considering drive construction, then system flexibility is improved, but access efficiency decreases due to lack of awareness of die and queue structures
Solution Approach 1:
The patent introduces a controller as an intermediary layer between the software management system and the physical die structure. This controller is aware of the underlying die and queue constructions and translates high-level software requests into optimized low-level operations. This intermediary enables the software to maintain flexibility while achieving improved access efficiency through informed decision-making about data placement and retrieval strategies.
3Productivity
If the same die hosts data for multiple tenants, then resource utilization is improved, but QoS degradation occurs due to shared queues and noisy neighbor effects
Solution Approach 1:
The patent segments the shared die into multiple isolated queues, with each queue dedicated to a specific tenant. This segmentation maintains high resource utilization by allowing multiple tenants to share the same physical die, while simultaneously ensuring reliable QoS by preventing noisy neighbor effects through queue isolation. Each tenant's data access operations are confined to their dedicated queue, guaranteeing predictable performance.
4Ease of manufacture
If traditional placement logic is used without considering NAND flash structures, then implementation simplicity is maintained, but performance optimization is lost due to ignorance of GC, WA, and die structures
Solution Approach 1:
The patent introduces a controller as an intermediary that bridges the gap between simple software placement logic and complex NAND flash structures. The controller handles the complexity of garbage collection, write amplification, and die management internally, allowing the software to use simple placement logic while still achieving optimized performance. This intermediary absorbs the complexity, making the system both simple to implement and high-performing.
Data Source
AI summary
In some arrangements, a manager of a storage system determines at least one abstracted memory structure for a tenant using a non-volatile memory of at least one non-volatile storage device. The abstracted memory structure includes at least one hardware storage unit of the non-volatile memory of the at least one non-volatile storage device. The at least one abstracted memory structure includes one or more of at least one virtual device corresponding to an application of the tenant or at least one domain corresponding to a volume of the application of the tenant. A virtual device mapping that maps the application of the tenant to the at least one hardware storage unit corresponding to the at least one virtual device is determined. A domain mapping that maps the volume to the at least one hardware storage unit corresponding to the at least one domain is determined.


