11074013

Apparatus and Methods for Providing Quality of Service Over a Virtual Interface for Solid-State Storage

PublishedJuly 27, 2021
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
20 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A method for providing Quality of Service (QoS) over a virtual interface for solid-state storage, comprising: receiving, from a host device via a host interface, an input/output (I/O) command for data access that is associated with an identifier for a virtual interface associated with a namespace through which data stored at a solid-state storage is accessible, the I/O commands being received through a first queue of inbound command elements received from the host device; determining, based on the I/O command, an amount of the data stored at the solid-state storage that the I/O command will access through the namespace; determining that the amount of data that the I/O command will access through the namespace exceeds a predefined threshold for data access through the namespace over a duration of time; and delaying a release of the I/O command to the solid-state storage device via a storage media interface in response to determining that the amount of data that the I/O command will access exceeds the predefined threshold for data access through the namespace by storing the I/O command to a second queue for command elements that are staged for subsequent release to the solid-state storage.

2

2. The method as recited in claim 1 , further comprising determining the amount of data that the I/O command will access based on one of a physical region page (PRP) list of the I/O command, a scatter gather list of the I/O command, a number of I/O operations associated with the I/O command, or a logical block address (LBA) count of the I/O command.

3

3. The method as recited in claim 1 , further comprising: receiving, from the host device, a parameter by which to meter or manage the data access of the solid-state storage through the namespace; and determining, based on the parameter, the predefined threshold for data access through the namespace over the duration of time.

4

4. The method as recited in claim 1 , wherein the virtual interface associated with the namespace comprises single root I/O virtualization (SR-IOV) peripheral component interconnect express (PCIe) interface or a virtual function (VF) provided through a SR-IOV PCIe interface.

5

5. The method as recited in claim 4 , wherein: the I/O command is received from a virtual machine (VM) executed by the host device; and the VM executing on the host device is mapped to the VF provided through the SR-IOV PCIe interface.

6

6. The method as recited in claim 5 , wherein: a first set of queues associated with the namespace are mapped to the VF; and a second set of queues associated with the VM executed by the host are mapped to the VF effective to bind the first set of queues to the second set of queues.

7

7. The method as recited in claim 1 , wherein: the host interface to the host device comprises a first PCIe interface over which a non-volatile memory express (NVMe) protocol is implemented; or the storage media interface to the solid-state storage comprises a second PCIe interface over which an NVMe protocol is implemented.

8

8. The method recited in method 1 , further comprising: releasing, from the second queue, the I/O command to the solid-state storage via the storage media interface in response to determining that the amount of data that the I/O command will access does not exceed the predefined threshold for data access through the namespace.

9

9. An apparatus comprising: a hardware-based processor; a memory coupled to the processor and configured to maintain processor-executable instructions that, responsive to execution, implement an application on the apparatus; a host interface configured to enable the application to access data stored at a solid-state storage operably coupled to the apparatus; and a storage media switch that includes a storage media interface to the solid-state storage, a first queue for inbound command elements received from the host interface, a second queue for command elements that are staged for subsequent release to the solid-state storage, and a Quality of Service (QoS) manager implemented to: receive, from the application via the host interface, an input/output (I/O) command for data access that is associated with an identifier of a virtual interface associated with a namespace through which data stored at the solid-state storage is accessible, the I/O command received through the first queue for the inbound command elements; determine, based on the I/O command, an amount of the data stored at the solid-state storage that the I/O command will access through the namespace; determine that the amount of data that the I/O command will access through the namespace exceeds a predefined threshold for data access through the namespace over a duration of time; and delay a release of the I/O command to the solid-state storage in response to determining that the amount of data that the I/O command will access exceeds the predefined threshold for data access through the namespace by storing the I/O command to the second queue for the command elements that are staged for subsequent release to the solid-state storage.

10

10. The apparatus as recited in claim 9 , wherein the QoS manager is further implemented to determine the amount of data based on one of a physical region page (PRP) list of the I/O command, a scatter gather list of the I/O command, a number of I/O operations associated with the I/O command, or a logical block address (LBA) count of the I/O command.

11

11. The apparatus as recited in claim 9 , wherein the virtual interface associated with the namespace comprises single root I/O virtualization (SR-IOV) peripheral component interconnect express (PCIe) interface or a virtual function (VF) provided through a SR-IOV PCIe interface.

12

12. The apparatus as recited in claim 11 , wherein: the I/O command is received from a virtual machine (VM) executed by the host device; and the VM executing on the host device is mapped to the VF provided through the SR-IOV PCIe interface.

13

13. The apparatus as recited in claim 9 , wherein the apparatus further comprises the solid-state storage operably coupled to the storage media interface of the storage media switch.

14

14. The apparatus as recited in claim 9 , wherein the QoS manager is further implemented to release, from the second queue, the I/O command to the solid-state storage via the storage media interface in response to determining that the amount of data that the I/O command will access does not exceed the predefined threshold.

15

15. A System-on-Chip (SoC) comprising: a storage media interface configured to enable access to a solid-state storage; a host interface configured to enable communication with a host device; a first queue for inbound command elements received from the host device; a second queue for command elements that are staged for subsequent release to the solid-state storage via the storage media interface; a hardware-based processor; a memory configured to store processor-executable instructions that, responsive to execution by the hardware-based processor, implement a Quality of Service (QoS) manager to: receive, from the host device via the host interface, an input/output (I/O) command for data access that is associated with an identifier of a virtual interface associated with a namespace through which data stored at the solid-state storage is accessible, the I/O command received through the first queue for the inbound command elements; determine, based on the I/O command, an amount of the data stored at the solid-state storage that the I/O command will access through the namespace; determine that the amount of data that the I/O command will access through the namespace exceeds a predefined threshold for data access through the namespace over a duration of time; and delay a release of the I/O command to the solid-state storage in response to determining that the amount of data that the I/O command will access exceeds the predefined threshold for data access through the namespace by storing the I/O command to the second queue for the command elements that are staged for subsequent release to the solid-state storage.

16

16. The SoC as recited in claim 15 , wherein the QoS manager is further implemented to determine the amount of data based on one of a physical region page (PRP) list of the I/O command, a scatter gather list of the I/O command, a number of I/O operations associated with the I/O command, or a logical block address (LBA) count of the I/O command.

17

17. The SoC as recited in claim 15 , wherein the virtual interface associated with the namespace comprises single root I/O virtualization (SR-IOV) peripheral component interconnect express (PCIe) interface or a virtual function (VF) provided through a SR-IOV PCIe interface.

18

18. The SoC as recited in claim 15 , wherein: the host interface of the SoC is configured as a first PCIe interface over which a non-volatile memory express (NVMe) protocol is implemented; or the storage media interface of the SoC is configured as a second PCIe interface over which an NVMe protocol is implemented.

19

19. The SoC as recited in claim 15 , wherein the SoC is embodied on or implemented as part of a host device, a storage media switch, a server, a server blade, a storage blade, a storage backplane, a storage media expansion device, a storage media card, a storage media adapter, network attached storage, or an NVMe-based storage controller.

20

20. The SoC recited in claim 15 , wherein the QoS manager is further implemented to: release, from the second queue, the I/O command to the solid-state storage via the storage media interface in response to determining that the amount of data that the I/O command will access does not exceed the predefined threshold for data access through the namespace.

Patent Metadata

Filing Date

Unknown

Publication Date

July 27, 2021

Inventors

Salil Suri
Ramaswami Kishore
Kalyan Prabhu Gonar

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “APPARATUS AND METHODS FOR PROVIDING QUALITY OF SERVICE OVER A VIRTUAL INTERFACE FOR SOLID-STATE STORAGE” (11074013). https://patentable.app/patents/11074013

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.