Software-Enabled Flash Abstraction Layer for Multi-Tenant QoS

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvestorage capacityVSAvoidlatency
Core Design Contradiction:
Quantity of substanceVSLoss of time

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.

Inventive Principle:
Principle #1Segmentation

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

Engineering Contradiction:
Improvesystem flexibilityVSAvoidaccess efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improveresource utilizationVSAvoidQuality of Service
Core Design Contradiction:
ProductivityVSReliability

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.

Inventive Principle:
Principle #1Segmentation

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

Engineering Contradiction:
Improveimplementation simplicityVSAvoidperformance
Core Design Contradiction:
Ease of manufactureVSProductivity

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12112074B2Maintaining quality of service of non-volatile memory devices in heterogeneous environment
Publication Date: 2024.10.08 KIOXIA CORP
  • US12112074B2 patent drawing
  • US12112074B2 patent drawing
  • US12112074B2 patent drawing

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.