Storage Virtual Function Initialization Using Stored Configuration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing storage systems with multi-host or multi-tenant capabilities face inefficiencies in initializing multiple virtual functions after a reset, leading to increased communication load and processing overhead due to repeated manual intervention by the host device.

Innovation Solution

A storage device with a nonvolatile memory that stores a virtualization configuration list, allowing it to perform automatic initialization of multiple virtual functions independently based on this list, reducing the need for repeated host-device communications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the host device manually initializes multiple virtual functions after a reset, then the initialization can be completed, but the communication load and processing overhead increase

Engineering Contradiction:
Improveinitialization speedVSAvoidcommunication overhead
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The storage device is enabled to automatically initialize its virtual functions without requiring manual intervention from the host device. The controller detects reset conditions and autonomously performs initialization sequences, including reinitializing virtual functions and updating configuration spaces, thereby eliminating communication overhead while maintaining initialization completeness

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system performs preliminary configuration by storing virtual function configuration information in the storage device's configuration space before resets occur. This pre-stored configuration enables the storage device to quickly reinitialize virtual functions after a reset without requiring the host device to retransmit configuration data, thus reducing communication load and accelerating the initialization process

Inventive Principle:
Principle #10Preliminary action

2Extent of automation

If the storage device stores virtualization configuration list in nonvolatile memory, then automatic initialization is enabled, but the device complexity increases

Engineering Contradiction:
Improveautomatic initialization capabilityVSAvoidcontroller structure
Core Design Contradiction:
Extent of automationVSDevice complexity

Solution Approach 1:

The controller is designed to perform multiple functions: it manages normal storage operations, detects reset conditions, initializes virtual functions, and updates configuration spaces. By consolidating these diverse functions into a single controller entity, the patent avoids the need for separate dedicated hardware components for each function, thereby achieving automatic initialization without proportionally increasing device complexity

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The virtualization configuration manager and virtualization manager are integrated within the controller, combining configuration management and initialization tasks into a unified structure. This merging allows the controller to access and process virtualization configuration information stored in nonvolatile memory without requiring additional independent management units, thus enabling automation while controlling complexity

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS12536099B2Storage device, operating method of storage device, and operating method of storage system
Publication Date: 2026.01.27 SAMSUNG ELECTRONICS CO LTD
  • US12536099B2 patent drawing
  • US12536099B2 patent drawing
  • US12536099B2 patent drawing

AI summary

Provided is an operating method of a storage system including a host device and a storage device, the operating method including transmitting, from the host device to the storage device, a virtualization configuration acquisition command that indicates a request for a virtualization configuration list that is stored in the storage device, transmitting, by the storage device, the virtualization configuration list to the host device in response to the virtualization configuration acquisition command, transmitting, from the host device to the storage device, a virtualization configuration setting command, and performing, by the storage device, an initialization operation for a plurality of virtual functions of the storage device based on the virtualization configuration list in response to the virtualization configuration setting command.