IP Library › Granted Patent US 12,536,099
Granted Patent B2
US 12,536,099 · App. 18/901,678 · Granted Jan 27, 2026

Storage device, operating method of storage device, and operating method of storage system

Inventors: Sungjin Kim (Suwon-si, KR); Jeayoung Kwon (Suwon-si, KR); Jaesub Kim (Suwon-si, KR); Yangwoo Roh (Suwon-si, KR); Hongmoon Wang (Suwon-si, KR)
Assignee: Samsung Electronics Co., Ltd.
G06F12/0246G06F9/45558G06F2009/45583
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,536,099
App. No.
18/901,678
Granted
Jan 27, 2026
Kind
B2
Abstract

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.

Claims (60)

1 . An operating method of a storage system including a host device and a storage device, the operating method comprising:

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.

2 . The operating method of claim 1 , wherein the performing of the initialization operation for the plurality of virtual functions of the storage device comprises:

allocating resources to the plurality of virtual functions;

performing an online operation for the plurality of virtual functions;

performing a binding operation for the plurality of virtual functions;

performing a namespace attachment operation for the plurality of virtual functions; and

setting performance information for the plurality of virtual functions.

3 . The operating method of claim 1 , further comprising:

transmitting the virtualization configuration list to the host device from the storage device after the initialization operation for the plurality of virtual functions is completed.

4 . The operating method of claim 3 , wherein the virtualization configuration list comprises at least one of valid data, resource data, online data, binding data, or a virtual function identifier for the plurality of virtual functions.

5 . The operating method of claim 4 , wherein the resource data comprises at least one of virtual queue data, virtual interrupt data, namespace data, or performance data.

6 . The operating method of claim 1 , wherein the storage device is configured to support single root I/O virtualization (SR-IOV).

7 . The operating method of claim 1 , further comprising:

transmitting, from the host device to the storage device, a virtualization configuration storage command that indicates a request for storage of the virtualization configuration list; and

storing, by the storage device, the virtualization configuration list in a nonvolatile memory device included in the storage device in response to the virtualization configuration storage command.

8 . The operating method of claim 6 , further comprising:

transmitting, by the host device, a reset signal for a physical function related to the plurality of virtual functions; and

initializing, by the storage device, configurations for the physical function and the plurality of virtual functions in response to the reset signal,

wherein the virtualization configuration list persists in a nonvolatile memory device even after receiving the reset signal.

9 . The operating method of claim 1 , further comprising:

transmitting, from the host device to the storage device, identifiers corresponding to the plurality of virtual functions.

10 . The operating method of claim 1 , wherein the transmitting of the virtualization configuration setting command to the storage device by the host device comprises:

transmitting, from the host device to the storage device, the virtualization configuration setting command and a first virtualization configuration list.

11 . The operating method of claim 10 , wherein the first virtualization configuration list is different from a virtualization configuration list received from the storage device in response to the virtualization configuration acquisition command, and

wherein the first virtualization configuration list is transmitted when the host device sets configurations for the plurality of virtual functions different from the configurations for the plurality of virtual functions set before a reset.

12 . The operating method of claim 1 , further comprising:

transmitting, from the host device to the storage device, a number of virtual functions for a physical function related to the plurality of virtual functions.

13 . The operating method of claim 1 , wherein the performing the initialization operation comprises:

performing, by the storage device, the initialization operation based on a virtualization configuration list received from the host device when mode data of the virtualization configuration setting command indicates a new mode;

performing, by the storage device, the initialization operation based on the virtualization configuration list stored in a nonvolatile memory device when the mode data of the virtualization configuration setting command indicates a previous mode; and

performing, by the storage device, the initialization operation based on a default virtualization configuration list when the mode data of the virtualization configuration setting command indicates a default mode.

14 . An operating method of a storage device, the operating method comprising:

receiving a virtualization configuration setting command from an external host device; and

performing, by the storage device an initialization operation for a plurality of virtual functions of the storage device based on a virtualization configuration list in response to the virtualization configuration setting command,

wherein the storage device does not receive commands other than the virtualization configuration setting command from the external host device while performing the initialization operation.

15 . The operating method of claim 14 , further comprising:

transmitting the virtualization configuration list to the external host device after the initialization operation,

wherein the virtualization configuration list comprises at least one of valid data, resource data, online data, binding data, or a virtual function identifier for the plurality of virtual functions.

16 . The operating method of claim 14 , further comprising:

confirming the virtualization configuration list based on mode data included in the virtualization configuration setting command,

wherein the mode data indicates a previous mode, a new mode, or a default mode.

17 . The operating method of claim 14 , further comprising:

receiving, from the external host device, a virtualization configuration acquisition command that indicates a request for the virtualization configuration list stored in the storage device; and

transmitting the virtualization configuration list to the external host device in response to the virtualization configuration acquisition command.

18 . The operating method of claim 14 , wherein the performing of the initialization operation for the plurality of virtual functions of the storage device based on the virtualization configuration list comprises:

allocating resources to the plurality of virtual functions;

performing an online operation for the plurality of virtual functions;

performing a binding operation for the plurality of virtual functions;

performing a namespace attachment operation for the plurality of virtual functions; and

setting performance information for the plurality of virtual functions.

19 . A storage device comprising:

a nonvolatile memory device; and

a controller configured to control the nonvolatile memory device and communicate with an external host device through an interface channel, wherein the controller is configured to provide a physical function, and a plurality of virtual functions related to the physical function;

a virtualization configuration manager configured to generate a virtualization configuration list of the plurality of virtual functions, store the virtualization configuration list in the nonvolatile memory device, transmit the virtualization configuration list to the external host device in response to a virtualization configuration acquisition command received from the external host device, and transmit the virtualization configuration list to a virtualization manager in response to a virtualization configuration setting command received from the external host device; and

a virtualization manager configured to perform an initialization operation for the plurality of virtual functions based on the virtualization configuration list.

20 . The storage device of claim 19 , wherein the virtualization manager is further configured to allocate resources to the plurality of virtual functions, perform an online operation for the plurality of virtual functions, perform a binding operation for the plurality of virtual functions, perform a namespace attachment operation for the plurality of virtual functions, and set performance information for the plurality of virtual functions, based on the virtualization configuration list without control by the external host device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2024
From: KIM, SUNGJIN; KWON, JEAYOUNG; KIM, JAESUB; ROH, YANGWOO; WANG, HONGMOON
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 068740/0367 →
Priority Claims (1)
KR 10-2023-0133684 · Oct 6, 2023 · national
Continuity (1)
Related Publication 20250117324A1 · Apr 10, 2025
References Cited (20)
US 7617252B2 · Ibrahim · 2009 [cited by examiner]
US 9311127B2 · Graham et al. · 2016 [cited by applicant]
US 9389895B2 · Oshins et al. · 2016 [cited by applicant]
US 10348624B2 · Liu et al. · 2019 [cited by applicant]
US 10467037B2 · Choi et al. · 2019 [cited by applicant]
US 10810122B2 · Bhattiprolu et al. · 2020 [cited by applicant]
US 11301277B2 · Szwed et al. · 2022 [cited by applicant]
US 20090182930A1 · Taguchi · 2009 [cited by examiner]
US 20130159572A1 · Graham et al. · 2013 [cited by applicant]
US 20160292007A1 · Ding et al. · 2016 [cited by applicant]
US 20200401751A1 · Kachare · 2020 [cited by examiner]
US 20210200573A1 · Cao et al. · 2021 [cited by applicant]
US 20210247935A1 · Beygi · 2021 [cited by examiner]
US 20220327081A1 · Jeon · 2022 [cited by examiner]
KR 101356223B1 · 2014 [cited by applicant]
KR 101782342B1 · 2017 [cited by applicant]
KR 102336443B1 · 2021 [cited by applicant]
KR 102532099B1 · 2023 [cited by applicant]
Extended European Search Report corresponding to European Application No. 24204321.4 (10 pages) (Jan. 16, 2025). [cited by applicant]
Nvm Express: “NVM Express TM Base Specification—Revision 1.3d” XP093097656, Retrieved from Internet URL: https://nvmexpress.org/wp-content/uploads/NVM-Express-I_3d-2019.03.20-Ratified.pdf, retrieved on Nov. 2, 2023 (Mar… [cited by applicant]