# US 11,907,530 B2 · Scalable quality of service (QoS) for a nonvolatile memory express™ environment

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,907,530 B2
- Document ID: US11907530B2
- Status: Granted
- Kind: B2
- Application number: 17/705,076
- Filed: 2022-03-25
- Published: 2023-09-28
- Granted: 2024-02-20
- Earliest claimed: 2022-03-25
- Assignees: Dell Products L.P.
- Applicants: Dell Products L.P.
- Inventors: Claudio Desanti; Erik Smith
- Web page: https://patentgrep.com/patent/US11907530B2

## CPC

- G06F 3/0604: {Improving or facilitating administration, e.g. storage management}
- G06F 3/0688: {Non-volatile semiconductor memory arrays}
- G06F 3/0622: {in relation to access}
- G06F 3/0635: {by changing the path, e.g. traffic rerouting, path reconfiguration}
- G06F 3/0637: {Permissions}
- G06F 3/0655: {Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- G06F 3/0679: {Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Centralized quality-of-service (QoS) policies administration in a storage area network (SAN) is a problem without meaningful solutions. Current implementations require explicit administration of end points, which is error-prone and not scalable. Zoning for NVMe-oF is defined as a method to specify connectivity access control information on the Discovery Controller (DC) of an NVMe-oF fabric, not as a way to specify QoS policies. Embodiments comprise centrally specifying one or more QoS parameters as part of NVMe-oF zoning definitions maintained at an NVMe-oF DC to centrally controlled QoS parameters. Accordingly, embodiments provide mechanisms to specify QoS parameters in a centralized manner to eliminate requiring a system administrator having to perform per-connection QoS provisioning.

## Claims

### Claim 1

A computer-implemented method for providing Quality of Service (QoS) in an non-volatile memory express (NVMe™) environment, the method comprising:
at a discovery controller (DC) in a network, which comprises entities comprising one or more hosts and one or more subsystems, receiving one or more zone configurations representing a set of access control rules that determine which of the one or more hosts are authorized to connect to which of the one or more subsystems and indicates one or more QoS parameters to use when forming these connections; and
responsive to an entity in the network issuing a request to the DC to discover those entities that the entity is authorized to establish a connection with according to a zone configuration from the one or more zone configurations, providing to the entity:
a list of one or more entities according to the zone configuration; and
for at least one of the entities on the list, an indication of a QoS parameter to use for data traffic when corresponding with the at least one of the entities.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein the step of providing the indication of a QoS parameter to use for data traffic when corresponding with the at least one of the entities comprises:
including a value that specifies a QoS level.

### Claim 3 (depends on 2)

The computer-implemented method of claim 2, wherein the value for the QoS parameter is a Differentiated Service Code Point (DSCP) value.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, wherein the step of providing the indication of a QoS parameter to use for data traffic when corresponding with the at least one of the entities comprises:
responsive to the response from the DC not comprising a value that specifies a QoS level, using a default QoS level.

### Claim 5 (depends on 4)

The computer-implemented method of claim 4, wherein the default QoS value comprises not applying any QoS requirement for data traffic when corresponding with the at least one of the entities.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, wherein the QoS parameter is used by the entity to specify QoS level for data traffic when corresponding with the at least one of the entities, thereby implementing QoS without requiring manual per-connection provisioning of QoS level of the entity.

### Claim 7 (depends on 1)

The computer-implemented method of claim 1, further comprising;
responsive to a change in the QoS parameter for the zone, sending a notice to an entity that is a member of the zone; and
responsive to receiving an update request from the entity, providing to the entity the change in the QoS parameter.

### Claim 8

An information handling system comprising:
one or more processors; and
a non-transitory computer-readable medium or media comprising one or more sets of instructions which, when executed by at least one of the one or more processors, causes steps to be performed comprising:
at a discovery controller (DC) in a network, which comprises entities comprising one or more hosts and one or more subsystems, receiving one or more zone configurations representing a set of access control rules that determine which of the one or more hosts are authorized to connect to which of the one or more subsystems and indicates one or more QoS parameters to use when forming these connections; and
responsive to an entity in the network issuing a request to the DC to discover those entities that the entity is authorized to establish a connection with according to a zone configuration from the one or more zone configurations, providing to the entity:
a list of one or more entities according to the zone configuration; and
for at least one of the entities on the list, an indication of a QoS parameter to use for data traffic when corresponding with the at least one of the entities.

### Claim 9 (depends on 8)

The information handling system of claim 8, wherein the step of providing the indication of a QoS parameter to use for data traffic when corresponding with the at least one of the entities comprises:
including a value that specifies a QoS level.

### Claim 10 (depends on 9)

The information handling system of claim 9, wherein the value for the QoS parameter is a Differentiated Service Code Point (DSCP) value.

### Claim 11 (depends on 8)

The information handling system of claim 8, wherein the step of providing the indication of a QoS parameter to use for data traffic when corresponding with the at least one of the entities comprises:
responsive to the response from the DC not comprising a value that specifies a QoS level, using a default QoS level.

### Claim 12 (depends on 11)

The information handling system of claim 11, wherein the default QoS value comprises not applying any QoS requirement for data traffic when corresponding with the at least one of the entities.

### Claim 13 (depends on 8)

The information handling system of claim 8, wherein the QoS parameter is used by the entity to specify QoS level for data traffic when corresponding with the at least one of the entities, thereby implementing QoS without requiring manual per-connection provisioning of QoS level of the entity.

### Claim 14 (depends on 8)

The information handling system of claim 8 wherein the non-transitory computer-readable medium or media further comprises one or more sequences of instructions which, when executed by at least one of the one or more processors, causes steps to be performed comprising:
responsive to a change in the QoS parameter for the zone, sending a notice to an entity that is a member of the zone; and
responsive to receiving an update request from the entity, providing to the entity the change in the QoS parameter.

### Claim 15

A computer-implemented method comprising:
issuing, from an entity of a network, which network comprises entities comprising one or more hosts and one or more subsystems, to a discovery controller (DC), which maintains one or more zone configurations representing a set of access control rules that determine which of the one or more hosts are authorized to connect to which of the one or more subsystems and indicates one or more QoS parameters to use when forming these connections, a request to discover those entities that the entity is authorized to establish a connection with according to a zone configuration from one or more zone configurations;
receiving a response from the DC comprising:
a list of one or more entities according to the zone configuration; and
for at least one of the entities on the list, an indication of a QoS parameter to use for data traffic when corresponding with the at least one of the entities; and
using the QoS parameter to specify a QoS level for data traffic when corresponding with the at least one of the entities.

### Claim 16 (depends on 15)

The computer-implemented method of claim 15, wherein the QoS parameter comprises a value that specifies a QoS level.

### Claim 17 (depends on 16)

The computer-implemented method of claim 16, wherein the value for the QoS parameter is a Differentiated Service Code Point (DSCP) value.

### Claim 18 (depends on 15)

The computer-implemented method of claim 15, wherein the indication of a QoS parameter to use for data traffic when corresponding with the at least one of the entities is implied to be a default QoS parameter in response to the response from the DC not comprising a QoS value, using a default QoS parameter value.

### Claim 19 (depends on 18)

The computer-implemented method of claim 18, wherein the default QoS parameter value comprises not applying any QoS requirement for data traffic when corresponding with the at least one of the entities.

### Claim 20 (depends on 15)

The computer-implemented method of claim 15, further comprising;
receiving a notice from the DC, in which the notice was sent in response to a change in the QoS parameter for the zone of which the entity is a member;
issuing an update request to the DC in response to the notice; and
receiving from the DC the change in the QoS parameter.
