IP Library Granted Patent US 10,970,106
Granted Patent B1
US 10,970,106 · App. 16/449,746 · Granted Apr 6, 2021

Storage device sharing among virtual machines

Inventor: Hari Krishna Vemuri (Pune, IN)
Assignee: Veritas Technologies LLC
G06F9/45558G06F3/067G06F3/0607G06F3/0664G06F12/10G06F2009/4557G06F2009/45579G06F2212/151G06F2212/65
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 10,970,106
App. No.
16/449,746
Granted
Apr 6, 2021
Kind
B1
Abstract

Disclosed herein are various systems, methods, and processes for sharing a storage device with multiple virtual machines. A pseudo-identity is created for a storage device. Information in a hypervisor is configured to modify a response to a command issued to the storage device by a virtual machine. Physical characteristics of the storage device are determined and it is also determined whether the physical characteristics are acceptable. If the physical characteristics are acceptable, a virtual disk associated with the virtual machine is used. If the physical characteristics are unacceptable, a mapping of the virtual machine is migrated to another storage device.

Claims (113)

1. A computer-implemented method comprising:

receiving a response to a command, wherein

the command is issued by a virtual machine,

the response to the command is issued by a physical storage device, and

the response to the command is received by a hypervisor;

modifying the response to the command to create a modified response, wherein

the modifying is performed by the hypervisor,

the modified response is configured to include a pseudo-identity associated with the physical storage device, and

the pseudo-identity facilitates

access to the physical storage device by a virtual machine of a plurality of virtual machines associated with a hypervisor, and

presentation of one or more physical characteristics of the physical storage device to the virtual machine; and

transmitting the modified response to the virtual machine.

2. The computer-implemented method of claim 1 , wherein

the command is a read-capacity command,

modifying the response to the command comprises replacing an actual read-capacity value with a modified read-capacity value,

the actual read-capacity value is provided by the physical storage device, and

the modified read-capacity value is determined by the hypervisor.

3. The computer-implemented method of claim 2 , wherein

the modifying the response to the command further comprises assigning an address space of the physical storage device to the virtual machine,

the address space is associated with the modified read-capacity value, and

the address space is assigned by the hypervisor.

4. The computer-implemented method of claim 1 , wherein

the hypervisor is communicatively coupled to a plurality of virtual machines,

the plurality of virtual machines comprises the virtual machine and a second virtual machine,

the hypervisor is configured to present the physical storage device to a first virtual machine as having a first capacity and to present the physical storage device to the second virtual machine as have a second capacity, and

the first capacity is different than the second capacity.

5. The computer-implemented method of claim 1 , wherein

the hypervisor further comprises a first dynamic multi-pathing device and a second dynamic multi-pathing device,

the first dynamic multi-pathing device is coupled to the physical storage device,

the second dynamic multi-pathing device is coupled to a second physical storage device,

the hypervisor, the first dynamic multi-pathing device, and the second dynamic multi-pathing device are each configured to balance a plurality of input/output commands received from the virtual machine, and

the plurality of input/output commands are balanced across a plurality of available paths.

6. The computer-implemented method of claim 1 , wherein

the pseudo-identity associated with the physical storage device spans the physical storage device and at least one other physical storage device.

7. The computer-implemented method of claim 6 , wherein

the physical storage device and the at least one other physical storage device are provided by different vendors.

8. A hypervisor, wherein

the hypervisor is communicatively coupled to a virtual machine and a physical storage device,

the hypervisor comprises a pseudo-identity module, and

the hypervisor is configured to perform a method comprising

receiving a response to a command, wherein

the command is issued by a virtual machine, and

the response to the command is issued by the physical storage device,

modifying the response to the command to create a modified response, wherein

the modifying is performed by the pseudo-identity module,

the modified response is configured to include a pseudo-identity associated with the physical storage device, and

the pseudo-identity facilitates

access to the physical storage device by a virtual machine of a plurality of virtual machines associated with a hypervisor, and

presentation of one or more physical characteristics of the physical storage device to the virtual machine, and

transmitting the modified response to the virtual machine.

9. The hypervisor of claim 8 , wherein

the hypervisor further comprises a read-capacity module,

the command is a read-capacity command,

modifying the response to the command comprises replacing an actual read-capacity value with a modified read-capacity value,

the actual read-capacity value is provided by the physical storage device, and

the modified read-capacity value is determined by the read-capacity module of the hypervisor.

10. The hypervisor of claim 9 , wherein

the hypervisor further comprises an address space module,

modifying the response to the command further comprises assigning an address space of the physical storage device to the virtual machine,

the address space is associated with the modified read-capacity value, and

the address space is assigned by the address space module of the hypervisor.

11. The hypervisor of claim 8 , wherein

the hypervisor is communicatively coupled to a plurality of virtual machines,

the plurality of virtual machines comprises the virtual machine and a second virtual machine,

the hypervisor is configured to present the physical storage device to a first virtual machine as having a first capacity and to present the physical storage device to the second virtual machine as have a second capacity, and

the first capacity is different than the second capacity.

12. The hypervisor of claim 8 , wherein

the hypervisor further comprises a first dynamic multi-pathing device and a second dynamic multi-pathing device,

the first dynamic multi-pathing device is coupled to the physical storage device,

the second dynamic multi-pathing device is coupled to a second physical storage device,

the hypervisor, the first dynamic multi-pathing device, and the second dynamic multi-pathing device are each configured to balance a plurality of input/output commands received from the virtual machine, and

the plurality of input/output commands are balanced across a plurality of available paths.

13. The hypervisor of claim 8 , wherein

the pseudo-identity associated with the physical storage device spans the physical storage device and at least one other physical storage device.

14. The hypervisor of claim 13 , wherein

the physical storage device and the at least one other physical storage device are provided by different vendors.

15. A system comprising:

one or more processors; and

a memory coupled to the one or more processors, wherein the memory stores program instructions executable by the one or more processors to perform a method comprising

receiving a response to a command, wherein

the command is issued by a virtual machine,

the response to the command is issued by a physical storage device, and

the response to the command is received by a hypervisor,

modifying the response to the command to create a modified response, wherein

the modifying is performed by the hypervisor,

the modified response is configured to include a pseudo-identity associated with the physical storage device, and

the pseudo-identity facilitates

access to the physical storage device by a virtual machine of a plurality of virtual machines associated with a hypervisor, and

presentation of one or more physical characteristics of the physical storage device to the virtual machine, and

transmitting the modified response to the virtual machine.

16. The system of claim 15 , wherein

the command is a read-capacity command,

the modifying the response to the command comprises replacing an actual read-capacity value with a modified read-capacity value,

the actual read-capacity value is provided by the physical storage device, and

the modified read-capacity value is determined by the hypervisor.

17. The system of claim 16 , wherein

the modifying the response to the command further comprises assigning an address space of the physical storage device to the virtual machine,

the address space is associated with the modified read-capacity value, and

the address space is assigned by the hypervisor.

18. The system of claim 15 , wherein

the hypervisor is communicatively coupled to a plurality of virtual machines,

the plurality of virtual machines comprises the virtual machine and a second virtual machine,

the hypervisor is configured to present the physical storage device to a first virtual machine as having a first capacity and to present the physical storage device to the second virtual machine as have a second capacity, and

the first capacity is different than the second capacity.

19. The system of claim 15 , wherein

the hypervisor further comprises a first dynamic multi-pathing device and a second dynamic multi-pathing device,

the first dynamic multi-pathing device is coupled to the physical storage device,

the second dynamic multi-pathing device is coupled to a second physical storage device,

the hypervisor, the first dynamic multi-pathing device, and the second dynamic multi-pathing device are each configured to balance a plurality of input/output commands received from the virtual machine, and

the plurality of input/output commands are balanced across a plurality of available paths.

20. The system of claim 15 , wherein

the pseudo-identity associated with the physical storage device spans the physical storage device and at least one other physical storage device, and

the physical storage device and the at least one other physical storage device are provided by different vendors.

Assignments (13)
SECURITY INTEREST Recorded Dec 12, 2025
From: ARCTERA US LLC
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 073951/0470 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 070530/0497 Recorded Dec 1, 2025
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: ARCTERA US LLC
Reel/Frame 073833/0730 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 069585/0150 Recorded Dec 1, 2025
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: ARCTERA US LLC
Reel/Frame 073833/0848 →
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069697/0238 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
PATENT SECURITY AGREEMENT Recorded Dec 10, 2024
From: ARCTERA US LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069585/0150 →
SECURITY INTEREST Recorded Dec 10, 2024
From: ARCTERA US LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 069563/0243 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC
To: ARCTERA US LLC
Reel/Frame 069548/0468 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS AT R/F 052426/0001 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 054535/0565 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Apr 16, 2020
From: VERITAS TECHNOLOGIES, LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 052426/0001 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Mar 18, 2020
From: VERITAS TECHNOLOGIES LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 052189/0311 →