IP Library Granted Patent US 12,219,009
Granted Patent B2
US 12,219,009 · App. 17/483,458 · Granted Feb 4, 2025

Virtual device portability

Inventors: Anjali Singhai Jain (Portland, OR); Noam Elati (Zichron Yaakov, IL); Eliel Louzoun (Jerusalem, IL); Daniel Daly (Santa Barbara, CA)
Assignee: Intel Corporation
H04L67/1097G06F9/45558G06F13/28G06F2009/45595
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 12,219,009
App. No.
17/483,458
Filed
Sep 23, 2021
Granted
Feb 4, 2025
Kind
B2
Art Unit
2455
USPC
709/212
Abstract

Examples described herein relate to a network interface device comprising: a device interface; at least one processor; a direct memory access (DMA) device; and a packet processing circuitry. In some examples, the at least one processor, when operational, is configured to: in connection with a first operation: perform a format translation of a first descriptor from a first format associated with an emulated device to a second format associated with the packet processing circuitry and provide, to the packet processing circuitry, the translated first descriptor. In some examples, the at least one processor, when operational, is configured to: in connection with a second operation: perform a descriptor format translation of a second descriptor from the second format associated with the packet processing circuitry to the first format associated with the emulated software device and provide, to the emulated device, the translated second descriptor.

Claims (52)

1. An apparatus comprising:

a network interface device comprising:

a device interface;

at least one processor;

a direct memory access (DMA) device; and

a packet processing circuitry, wherein:

the at least one processor, when operational, is configured to:

in connection with a first operation associated with execution of a virtualized execution environment and an emulated device after migration of the virtualized execution environment and the emulated device to execute on a target system:

 perform a format translation of a first descriptor from a first format associated with the emulated device to a second format associated with the packet processing circuitry; and

 provide, to the packet processing circuitry, the translated first descriptor, wherein the network interface device is accessible to the virtualized execution environment as a virtual device in a manner consistent with single-root I/O virtualization (SR-IOV).

2. The apparatus of claim 1 , wherein the emulated device comprises software associated with a virtualized execution environment that is presented as a hardware device to the virtualized execution environment.

3. The apparatus of claim 1 , wherein

the emulated device is associated with the virtualized execution environment migrated from a first compute system to the target system,

the second platform target system is communicatively coupled to the network interface device using the device interface.

4. The apparatus of claim 1 , wherein the emulated device is consistent with one or more of: VMware VMXNET, Linux VirtIO, non-volatile memory express (NVMe), Microsoft® NetVSC, Google virtual NIC (gVNIC), or Amazon® Elastic Network Adapter.

5. The apparatus of claim 1 , wherein the DMA device is to copy data from host memory to the network interface device based on a memory address referenced by the translated first descriptor and wherein the network interface device is to transmit the data in at least one packet.

6. The apparatus of claim 1 , wherein the packet processing circuitry comprises one or more of: a packet processing pipeline that includes at least one configurable match-action unit (MAU) or a storage controller.

7. The apparatus of claim 1 , wherein the at least one processor, when operational, is configured to:

in connection with a second operation:

perform a format translation of a second descriptor from the second format associated with the packet processing circuitry to the first format associated with the emulated device and

provide, to the emulated device, the translated second descriptor.

8. The apparatus of claim 7 , wherein the first operation comprises a packet transmit operation or a data write operation and the second operation comprises a packet receive operation or a data read operation.

9. The apparatus of claim 1 , comprising the target system and the target system is communicatively coupled to the network interface device using the device interface.

10. The apparatus of claim 9 , comprising a data center, wherein the data center includes a source server and the target system.

11. The apparatus of claim 1 , wherein:

the migration of the virtualized execution environment and the emulated device comprises migration of the virtualized execution environment and the emulated device from a source system coupled to a first network interface device to the target system coupled to the network interface device,

the first network interface device is accessible as an SR-IOV device, and

the first network interface device and the network interface device are associated with different vendors.

12. At least one non-transitory computer-readable medium comprising instructions stored thereon, that if executed by one or more processors of a first network interface device, cause the one or more processors of the first network interface device to:

in connection with a first operation associated with execution of a virtualized execution environment and an emulated device after migration of the virtualized execution environment and the emulated device to execute on a target system:

the one or more processors of the first network interface device to:

perform a format translation of a first descriptor from a first format associated with the emulated device to a second format associated with packet processing circuitry of the first network interface device and

provide, to the packet processing circuitry, the translated first descriptor, wherein the first network interface device is accessible to the virtualized execution environment as a virtual device in a manner consistent with single-root I/O virtualization (SR-IOV).

13. The non-transitory computer-readable medium of claim 12 , wherein the emulated device comprises software associated with the virtualized execution environment that is presented as a hardware device to the virtualized execution environment.

14. The non-transitory computer-readable medium of claim 12 , wherein the packet processing circuitry comprises one or more of: a packet processing pipeline that includes at least one configurable match-action unit (MAU) or a storage controller.

15. The non-transitory computer-readable medium of claim 12 , comprising instructions stored thereon, that if executed by one or more processors of the first network interface device, cause the one or more processors of the first network interface device to

in connection with a second operation:

perform a format translation of a second descriptor from the second format associated with the packet processing circuitry to the first format associated with the emulated device and

provide, to the emulated device, the translated second descriptor.

16. The non-transitory computer-readable medium of claim 15 , wherein the first operation comprises a packet transmit operation or a data write operation and the second operation comprises a packet receive operation or a data read operation.

17. A method comprising:

at a network interface device:

in connection with a first operation associated with execution of a virtualized execution environment and an emulated device after migration of the virtualized execution environment and the emulated device to execute on a target system:

performing a translation of a first descriptor from a first format associated with the emulated device to a second format associated with a packet processing circuitry of the network interface device and

providing the translated first descriptor to the packet processing circuitry to perform an operation specified by the translated first descriptor, wherein the network interface device is accessible to the virtualized execution environment as a virtual device in a manner consistent with single-root I/O virtualization (SR-IOV).

18. The method of claim 17 , wherein the emulated software device comprises software associated with the virtualized execution environment that is presented as a hardware device to the virtualized execution environment.

19. The method of claim 17 , comprising:

at the network interface device:

in connection with a second operation:

performing a descriptor format translation of a second descriptor from the second format associated with the packet processing circuitry to the first format associated with the emulated device and

providing, to the emulated device, the translated second descriptor.

20. The method of claim 19 , wherein the first operation comprises a packet transmit operation or a data write operation and the second operation comprises a packet receive operation or a data read operation.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 22, 2021
From: JAIN, ANJALI SINGHAI; ELATI, NOAM; LOUZOUN, ELIEL; DALY, DANIEL
To: INTEL CORPORATION
Reel/Frame 058183/0459 →
Continuity (2)
Provisional Application 63138305 · Jan 15, 2021
Related Publication 20220086226A1 · Mar 17, 2022
References Cited (24)
US 10489302B1 · Habusha · 2019 [cited by examiner]
US 11868872B1 · Minkin · 2024 [cited by examiner]
US 20100254395A1 · Smith · 2010 [cited by examiner]
US 20160004548A1 · Suzuki · 2016 [cited by examiner]
US 20160196158A1 · Nipane · 2016 [cited by examiner]
US 20180173646A1 · Warkentin · 2018 [cited by examiner]
US 20180341547A1 · Bolkhovitin · 2018 [cited by examiner]
US 20190114283A1 · Deval · 2019 [cited by examiner]
US 20190243675A1 · Bridgers · 2019 [cited by examiner]
US 20190297015A1 · Marolia · 2019 [cited by examiner]
US 20200150997A1 · Chang · 2020 [cited by examiner]
US 20200278893A1 · Niell · 2020 [cited by examiner]
US 20200319913A1 · Kumar · 2020 [cited by examiner]
US 20210103504A1 · Tsuchiya · 2021 [cited by examiner]
US 20210117360A1 · Kutch et al. · 2021 [cited by applicant]
CN 110532208A · 2019 [cited by applicant]
WO WO2018176359A1 · 2018 [cited by examiner]
DPDK, “Data Plane Development Kit, 58. VDEV_NETVSC driver”, https://doc.dpdk.org/guides/nics/vdev_netvsc.html, 2018, 3 pages. [cited by applicant]
Microsoft Learn, “Live Migration Overview”, https://learn.microsoft.com/en-us/windows-server/virtualization/hyper-v/manage/live-migration-overview, Sep. 2020, 1 page. [cited by applicant]
European First Office Action, (EP Exam Report Article 94(3) EPC), for Patent Application No. 21198818.3, Mailed Feb. 22, 2023, 5 pages. [cited by applicant]
Anonymous: “Powerful & Smart Network Adapter BlueField System-on-Chip”, Jan. 1, 2020 (Jan. 1, 2020), pp. 1-3, https://network.nvidia.com/files/doc-2020/pb-bluefield-smart-nie.pdf, [retrieved on Mar. 3, 2022], 3 pages. [cited by applicant]
Extended European Search Report for Patent Application No. 21198818.3, Mailed Mar. 15, 2022, 11 pages. [cited by applicant]
Rizzo, Luigi, “Revisiting Network I/O, APIs: The netmap Framework”, ACMQUEUE: Tomorrow's Computing Today, Association for Computing Machinery, New York, NY, US, vol. 10, No. 1, Jan. 17, 2012 (Jan. 17, 2012), pp. 30-39, … [cited by applicant]
European Second Office Action, (EP Exam Report Article 94(3) EPC), for Patent Application No. 21198818.3, Mailed Oct. 23, 2023, 7 pages. [cited by applicant]