IP Library Granted Patent US 11,474,749
Granted Patent B2
US 11,474,749 · App. 17/154,000 · Granted Oct 18, 2022

Configuring host access for virtual volumes

Inventors: David L. Black (Acton, MA); Dmitry Nikolayevich Tylik (Westborough, MA); Alexey Vladimirovich Shusharin (Saint Petersburg, RU); Marina Shem Tov (Hod Hasharon, IL); Mukesh Gupta (Shrewsbury, MA)
Assignee: EMC IP Holding Company LLC
G06F3/0664G06F3/0604G06F3/067G06F3/0665G06F9/45558G06F2009/45579G06F2009/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 11,474,749
App. No.
17/154,000
Granted
Oct 18, 2022
Kind
B2
Abstract

Discovery service contact information is provided from a data storage system to administration logic of a virtualization environment, and distributed within the virtualization environment to hypervisor hosts, enabling the hypervisor hosts to discover logical ports within the data storage system, and then establish logical communication paths between the hypervisor hosts and the ports. In response to determining that the data storage system supports virtual volumes, the hypervisor hosts indicate hypervisor capability of using virtual volumes to the data storage system, and the data storage system exposes virtual volumes to hypervisors in response to indications of the ability of those hypervisors to use virtual volumes.

Claims (48)

1. A method comprising:

providing discovery service contact information from a data storage system to administration logic of a virtualization environment, wherein the discovery service contact information describes how to contact a discovery service within the data storage system;

distributing the discovery service contact information within the virtualization environment from the administration logic of the virtualization environment to at least one hypervisor host within the virtualization environment;

discovering, by the hypervisor host from the discovery service within the data storage system, at least one port located within the data storage system;

establishing, by the hypervisor host, a logical communication path between the hypervisor host and the port located within the data storage system;

retrieving, by the hypervisor host, information from the data storage system indicating whether the data storage system supports virtual volumes;

determining, by the hypervisor host from the information retrieved from the data storage system indicating whether the data storage system supports virtual volumes, that the data storage system supports virtual volumes;

issuing, by the hypervisor host to the data storage system in response to the hypervisor host determining that the data storage system supports virtual volumes, a command indicating that a hypervisor executing within the hypervisor host is capable of using virtual volumes; and

storing, within the data storage system, an indication that the hypervisor executing within the hypervisor host is capable of using virtual volumes.

2. The method of claim 1 , wherein retrieving information from the data storage system indicating whether the data storage system supports virtual volumes comprises retrieving a list of supported universally unique identifiers from the data storage system; and

wherein determining that the data storage system supports virtual volumes comprises finding a predetermined value indicating that the storage system supports virtual volumes within the list of supported universally unique identifiers retrieved from the data storage system.

3. The method of 1 , wherein the command indicating that the hypervisor executing the hypervisor host is capable of using virtual volumes comprises an NVMe (Non-Volatile Memory Express) admin set features command.

4. The method of claim 3 , further comprising:

creating a storage container within the data storage system;

creating at least one virtual volume within the storage container; and

allowing the virtual volume to be used by the hypervisor executing within the hypervisor host in response to the indication that the hypervisor executing within the hypervisor host is capable of using virtual volumes.

5. The method of claim 4 , wherein the hypervisor executing within the hypervisor host includes a first set of logic and a second set of logic, wherein the first set of logic is capable of using virtual volumes and the second set of logic is not capable of using virtual volumes; and

wherein allowing the virtual volume to be used by the hypervisor executing within the hypervisor host comprises allowing the first set of logic within the hypervisor to use the virtual volume.

6. A system comprising:

processing circuitry and memory, wherein the memory has program code stored thereon, wherein the program code, when executed by the processing circuitry, causes the processing circuitry to:

provide discovery service contact information from a data storage system to administration logic of a virtualization environment, wherein the discovery service contact information describes how to contact a discovery service within the data storage system;

distribute the discovery service contact information within the virtualization environment from the administration logic of the virtualization environment to at least one hypervisor host within the virtualization environment;

discover, by the hypervisor host from the discovery service within the data storage system, at least one port located within the data storage system;

establish, by the hypervisor host, a logical communication path between the hypervisor host and the port located within the data storage system;

retrieve, by the hypervisor host, information from the data storage system indicating whether the data storage system supports virtual volumes:

determine, by the hypervisor host from the information retrieved from the data storage system indicating whether the data storage system supports virtual volumes, that the data storage system supports virtual volumes;

issue, by the hypervisor host to the data storage system in response to the hypervisor host determining that the data storage system supports virtual volumes, a command indicating that a hypervisor executing within the hypervisor host is capable of using virtual volumes; and

store, within the data storage system, an indication that the hypervisor executing within the hypervisor host is capable of using virtual volumes.

7. The system of claim 6 , wherein causing the processing circuitry to retrieve information from the data storage system indicating whether the data storage system supports virtual volumes includes causing the processing circuitry to retrieve a list of supported universally unique identifiers from the data storage system; and

wherein causing the processing circuitry to determine that the data storage system supports virtual volumes includes causing the processing circuitry to find a predetermined value indicating that the storage system supports virtual volumes within the list of supported universally unique identifiers retrieved from the data storage system.

8. The system of 6 , wherein the command indicating that the hypervisor executing the hypervisor host is capable of using virtual volumes comprises an NVMe (Non-Volatile Memory Express) admin set features command.

9. The system of claim 8 , wherein the program code, when executed by the processing circuitry, further causes the processing circuitry to:

create a storage container within the data storage system;

create at least one virtual volume within the storage container; and

allow the virtual volume to be used by the hypervisor executing within the hypervisor host in response to the indication that the hypervisor executing within the hypervisor host is capable of using virtual volumes.

10. The system of claim 9 , wherein the hypervisor executing within the hypervisor host includes a first set of logic and a second set of logic, wherein the first set of logic is capable of using virtual volumes and the second set of logic is not capable of using virtual volumes; and

wherein causing the processing circuitry to allow the virtual volume to be used by the hypervisor executing within the hypervisor host includes causing the processing circuitry to allow the first set of logic within the hypervisor to use the virtual volume.

11. A computer program product including a non-transitory computer readable medium having instructions stored thereon, wherein the instructions, when executed on processing circuitry, cause the processing circuitry to perform steps including:

providing discovery service contact information from a data storage system to administration logic of a virtualization environment, wherein the discovery service contact information describes how to contact a discovery service within the data storage system;

distributing the discovery service contact information within the virtualization environment from the administration logic of the virtualization environment to at least one hypervisor host within the virtualization environment;

discovering, by the hypervisor host from the discovery service within the data storage system, at least one port located within the data storage system;

establishing, by the hypervisor host, a logical communication path between the hypervisor host and the port located within the data storage system;

retrieving, by the hypervisor host, information from the data storage system indicating whether the data storage system supports virtual volumes;

determining, by the hypervisor host from the information retrieved from the data storage system indicating whether the data storage system supports virtual volumes, that the data storage system supports virtual volumes;

issuing, by the hypervisor host to the data storage system in response to the hypervisor host determining that the data storage system supports virtual volumes, a command indicating that a hypervisor executing within the hypervisor host is capable of using virtual volumes; and

storing, within the data storage system, an indication that the hypervisor executing within the hypervisor host is capable of using virtual volumes.

12. The computer program product of claim 11 , wherein retrieving information from the data storage system indicating whether the data storage system supports virtual volumes comprises retrieving a list of supported universally unique identifiers from the data storage system; and

wherein determining that the data storage system supports virtual volumes comprises finding a predetermined value indicating that the storage system supports virtual volumes within the list of supported universally unique identifiers retrieved from the data storage system.

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 Feb 22, 2021
From: BLACK, DAVID L.; TYLIK, DMITRY NIKOLAYEVICH; SHUSHARIN, ALEXEY VLADIMIROVICH; SHEM TOV, MARINA; GUPTA, MUKESH
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 055352/0068 →