NVMe Virtual Function Segmentation for Concurrent Storage Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data storage devices, such as solid state drives (SSDs), face challenges in concurrently completing host commands and data storage device operations due to delays caused by garbage collection and data copying processes, which occupy resources and hinder efficient storage management.

Innovation Solution

The implementation of a data storage device with a volatile memory, non-volatile storage unit, and a controller that utilizes virtual functions, including a controller memory buffer (CMB) and an advanced extensible interface (AXI) inbound multiplexer, to route and manage read/write commands, allowing for concurrent execution of host commands and storage management operations by isolating resources between virtual functions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data copying and garbage collection operations are performed using shared buffers and hardware engines, then storage management operations can be completed, but host commands experience delays due to resource occupation

Engineering Contradiction:
Improvestorage management operation completionVSAvoidhost command completion delay
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments the storage device resources into multiple virtual functions (VFs), where each VF can be independently allocated to different operations. Host commands are routed to VFs dedicated to host operations, while storage management operations like garbage collection and data copying are performed in VFs dedicated to internal operations. This segmentation allows concurrent execution of host commands and storage management operations without resource conflicts, resolving the contradiction between completing storage management operations and avoiding host command delays.

Inventive Principle:
Principle #1Segmentation

2Productivity

If buffers and hardware engines are used for data copying during garbage collection, then data can be re-allocated to empty blocks, but the same resources are unavailable for host read/write commands

Engineering Contradiction:
Improvedata re-allocation efficiencyVSAvoidhost command execution availability
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent creates virtual copies of the buffer and hardware engine resources through multiple virtual functions. Instead of sharing a single physical buffer and hardware engine between host operations and storage management operations, the system creates virtual instances of these resources in different VFs. This allows storage management operations to use copied virtual resources without interfering with host command execution, maintaining both data re-allocation efficiency and host command execution availability.

Inventive Principle:
Principle #26Copying

3Device complexity

If a single controller handles both host commands and storage management operations, then device structure is simplified, but concurrent operation capability is reduced

Engineering Contradiction:
Improvecontroller structureVSAvoidconcurrent operation capability
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent implements a dynamic virtualization layer within the controller that allows flexible allocation and routing of operations to different virtual functions. The controller maintains a unified structure for simplicity but dynamically assigns host commands to host-facing VFs and storage management operations to internal VFs based on operation type. This dynamic routing enables concurrent operation capability while preserving the simplified unified controller structure.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11733920B2NVMe simple copy command support using dummy virtual function
Publication Date: 2023.08.22 SANDISK TECHNOLOGIES LLC
  • US11733920B2 patent drawing
  • US11733920B2 patent drawing
  • US11733920B2 patent drawing

AI summary

The present disclosure generally relates to data storage devices, such as solid state drives. The data storage device includes a volatile memory, a non-volatile storage unit, and a controller. The data storage device further includes a plurality of virtual functions, where at least one of the virtual functions is only accessible by the data storage device and the remainder of the virtual functions are accessible by both the data storage and a host device. At least one of the virtual functions may be dedicated to completing data storage device storage management operations.