IP Library Granted Patent US 11,928,492
Granted Patent B2
US 11,928,492 · App. 17/140,316 · Granted Mar 12, 2024

Enforcing quality of service in a virtualized storage environment

Inventors: Osnat Shasha (Holon, IL); Rivka Matosevich (Zichron Ya'acov, IL)
Assignee: EMC IP Holding Company LLC
G06F9/45558G06F2009/45562G06F2009/45579
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 11,928,492
App. No.
17/140,316
Granted
Mar 12, 2024
Kind
B2
Abstract

Techniques are provided for managing quality of service (QoS) policies in a virtual storage environment. A data storage system receives a request from a host system to connect to a target virtual volume in a storage array of the data storage system, and determines a protocol endpoint which has an assigned QoS policy which corresponds to a QoS policy of the target virtual volume. The data storage system binds the target virtual volume to the protocol endpoint which is determined to have an assigned QoS policy which corresponds to the QoS policy of the target virtual volume, and sends a unique identifier of the protocol endpoint, which is bound to the target virtual volume, to the host system. The data storage system utilizes the protocol endpoint, which is bound to the target virtual volume, to handle data access requests received from the host system for accessing the target virtual volume.

Claims (63)

1. A method, comprising:

assigning, by a data storage system, quality of service (QoS) policies to respective protocol endpoints of a plurality of protocol endpoints that are configured by the data storage system;

receiving, by the data storage system, a request from a host system to connect to a target virtual volume in a storage array of the data storage system;

determining, by the data storage system, a QoS policy associated with the target virtual volume;

determining, by the data storage system, whether there exists a protocol endpoint which has an assigned QoS policy which corresponds to the QoS policy associated with the target virtual volume; and

in response to determining that a protocol endpoint having an assigned QoS policy corresponding to the QoS policy associated with the target virtual volume does not exist:

automatically creating, by the data storage system, a new protocol endpoint having an assigned QoS policy which corresponds to the QoS policy associated with the target virtual volume;

binding, by the data storage system, the target virtual volume to the new protocol endpoint;

sending, by the data storage system, a unique identifier of the new protocol endpoint, which is bound to the target virtual volume, to the host system; and

utilizing, by the data storage system, the new protocol endpoint, which is bound to the target virtual volume, as a logical input/output proxy that is configured to handle data access requests received from the host system for accessing the target virtual volume.

2. The method of claim 1 , wherein in response to determining that a protocol endpoint having an assigned QoS policy corresponding to the QoS policy associated with the target virtual volume does exist:

selecting, by the data storage system, an existing protocol endpoint from the plurality of protocol endpoints, which is determined to have an assigned QoS policy which corresponds to the QoS policy associated with the target virtual volume;

binding, by the data storage system, the selected protocol endpoint to the target virtual volume;

sending, by the data storage system, a unique identifier of the selected protocol endpoint, which is bound to the target virtual volume, to the host system; and

utilizing, by the data storage system, the selected protocol endpoint, which is bound to the target virtual volume, as a logical input/output proxy that is configured to handle data access requests received from the host system for accessing the target virtual volume.

3. The method of claim 1 , wherein the host system comprises a virtual machine and wherein the QoS policy associated with the target virtual volume is specified in a storage policy associated with the virtual machine.

4. The method of claim 1 , wherein a given QoS policy assigned to a given protocol endpoint specifies a performance level of storage input/output throughput.

5. The method of claim 4 , wherein the performance level of storage input/output throughput is specified as one of input/output operations per second and an input/output data transfer rate.

6. The method of claim 4 , wherein the given QoS policy assigned to the given protocol endpoint comprises a shared QoS policy in which the specified performance level of storage throughput is shared between a plurality of virtual volumes that are bound to the given protocol endpoint.

7. The method of claim 1 , further comprising, rebinding, by the data storage system, the target virtual volume to another protocol endpoint which is determined to have an assigned QoS policy which corresponds to the QoS policy associated with the target virtual volume, in response to determining that the host system is not receiving an expected performance level of storage input/output throughput as specified by the QoS policy associated with the target virtual volume.

8. An article of manufacture comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code is executable by one or more processors to implement a method which comprises:

assigning, by a data storage system, quality of service (QoS) policies to respective protocol endpoints of a plurality of protocol endpoints that are configured by the data storage system;

receiving, by the data storage system, a request from a host system to connect to a target virtual volume in a storage array of the data storage system;

determining, by the data storage system, a QoS policy associated with the target virtual volume;

determining, by the data storage system, whether there exists a protocol endpoint which has an assigned QoS policy which corresponds to the QoS policy associated with the target virtual volume; and

in response to determining that a protocol endpoint having an assigned QoS policy corresponding to the QoS policy associated with the target virtual volume does not exist:

automatically creating, by the data storage system, a new protocol endpoint having an assigned QoS policy which corresponds to the QoS policy associated with the target virtual volume;

binding, by the data storage system, the target virtual volume to the new protocol endpoint;

sending, by the data storage system, a unique identifier of the new protocol endpoint, which is bound to the target virtual volume, to the host system; and

utilizing, by the data storage system, the new protocol endpoint, which is bound to the target virtual volume, as a logical input/output proxy that is configured to handle data access requests received from the host system for accessing the target virtual volume.

9. The article of manufacture of claim 8 , wherein in response to determining that a protocol endpoint having an assigned QoS policy corresponding to the QoS policy associated with the target virtual volume does exist, further comprising program code which is executable by the one or more processors to implement a method which comprises:

selecting, by the data storage system, an existing protocol endpoint from the plurality of protocol endpoints, which is determined to have an assigned QoS policy which corresponds to the QoS policy associated with the target virtual volume;

binding, by the data storage system, the selected protocol endpoint to the target virtual volume;

sending, by the data storage system, a unique identifier of the selected protocol endpoint, which is bound to the target virtual volume, to the host system; and

utilizing, by the data storage system, the selected protocol endpoint, which is bound to the target virtual volume, as a logical input/output proxy that is configured to handle data access requests received from the host system for accessing the target virtual volume.

10. The article of manufacture of claim 8 , wherein the host system comprises a virtual machine and wherein the QoS policy associated with the target virtual volume is specified in a storage policy associated with the virtual machine.

11. The article of manufacture of claim 8 , wherein a given QoS policy assigned to a given protocol endpoint specifies a performance level of storage input/output throughput.

12. The article of manufacture of claim 11 , wherein the performance level of storage input/output throughput is specified as one of input/output operations per second and an input/output data transfer rate.

13. The article of manufacture of claim 11 , wherein the given QoS policy assigned to the given protocol endpoint comprises a shared QoS policy in which the specified performance level of storage throughput is shared between a plurality of virtual volumes that are bound to the given protocol endpoint.

14. The article of manufacture of claim 8 , further comprising program code which is executable by the one or more processors to implement a method which comprises rebinding, by the data storage system, the target virtual volume to another protocol endpoint which is determined to have an as signed QoS policy which corresponds to the QoS policy associated with the target virtual volume, in response to determining that the host system is not receiving an expected performance level of storage input/output throughput as specified by the QoS policy associated with the target virtual volume.

15. A system, comprising:

a data storage system comprising at least one data storage node which comprises a storage array that comprises one or more virtual volumes;

wherein the at least one data storage node comprises at least one processor, and a system memory configured to store program code, wherein the program code is executable by the at least one processor to implement a storage control system on the data storage node which is configured to:

assign quality of service (QoS) policies to respective protocol endpoints of a plurality of protocol endpoints that are configured by the data storage system;

receive a request from a host system to connect to a target virtual volume in a storage array of the data storage system;

determine a QoS policy associated with the target virtual volume;

determine whether there exists a protocol endpoint which has an assigned QoS policy which corresponds to the QoS policy associated with the target virtual volume; and

in response to determining that a protocol endpoint having an assigned QoS policy corresponding to the QoS policy associated with the target virtual volume does not exist, the storage control system is configured to:

automatically create a new protocol endpoint having an assigned QoS policy which corresponds to the QoS policy associated with the target virtual volume;

bind the target virtual volume to the new protocol endpoint;

send a unique identifier of the new protocol endpoint, which is bound to the target virtual volume, to the host system; and

utilize the new protocol endpoint, which is bound to the target virtual volume, as a logical input/output proxy that is configured to handle data access requests received from the host system for accessing the target virtual volume.

16. The system of claim 15 , wherein in response to determining that a protocol endpoint having an assigned QoS policy corresponding to the QoS policy associated with the target virtual volume does exist, the storage control system is configured to:

select an existing protocol endpoint from the plurality of protocol endpoints, which is determined to have an assigned QoS policy which corresponds to the QoS policy associated with the target virtual volume;

bind the selected protocol endpoint to the target virtual volume;

send a unique identifier of the selected protocol endpoint, which is bound to the target virtual volume, to the host system; and

utilize the selected protocol endpoint, which is bound to the target virtual volume, as a logical input/output proxy that is configured to handle data access requests received from the host system for accessing the target virtual volume.

17. The system of claim 15 , wherein:

a given QoS policy assigned to a given protocol endpoint specifies a performance level of storage input/output throughput; and

the performance level of storage input/output throughput is specified as one of input/output operations per second and an input/output data transfer rate.

18. The system of claim 17 , wherein the given QoS policy assigned to the given protocol endpoint comprises a shared QoS policy in which the specified performance level of storage throughput is shared between a plurality of virtual volumes that are bound to the given protocol endpoint.

19. The system of claim 15 , wherein the host system comprises a virtual machine and wherein the QoS policy associated with the target virtual volume is specified in a storage policy associated with the virtual machine.

20. The system of claim 15 , wherein the storage control system is further configured to automatically rebind the target virtual volume to another protocol endpoint which is determined to have an assigned QoS policy which corresponds to the QoS policy associated with the target virtual volume, in response to determining that the host system is not receiving an expected performance level of storage input/output throughput as specified by the QoS policy associated with the target virtual volume.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (055479/0342) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0460 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (055479/0051) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0663 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056136/0752) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0771 →
RELEASE OF SECURITY INTEREST AT REEL 055408 FRAME 0697 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0553 →
SECURITY INTEREST Recorded Mar 3, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056136/0752 →
SECURITY INTEREST Recorded Mar 3, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 055479/0051 →
SECURITY INTEREST Recorded Mar 3, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 055479/0342 →
SECURITY AGREEMENT Recorded Feb 25, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 055408/0697 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 4, 2021
From: SHASHA, OSNAT; MATOSEVICH, RIVKA
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 054797/0373 →
Continuity (1)
Related Publication 20220214900A1 · Jul 7, 2022