IP Library Granted Patent US 11,675,613
Granted Patent B2
US 11,675,613 · App. 17/024,619 · Granted Jun 13, 2023

Flexible physical function and virtual function mapping

Inventors: Jiefan Zhang (San Jose, CA); Abdel Hafiz Rabi (High Wycombe, GB); Allen Chen (Cupertino, CA); Mark Jonathan Lewis (Marlow Botton, GB)
Assignee: Altera Corporation
G06F9/45558G06F9/45533G06F9/54G06F15/7867G06F15/7889G06F2009/4557
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,675,613
App. No.
17/024,619
Granted
Jun 13, 2023
Kind
B2
Abstract

Techniques and mechanisms provide a flexible mapping for physical functions and virtual functions in an environment including virtual machines.

Claims (41)

1. An integrated circuit device comprising:

a function block configurable to provide a first functionality and a second functionality; and

virtualization management circuitry configured to:

when the function block is configured to provide the first functionality, provide a first virtual machine associated with a first customer access to the function block before providing a second virtual machine associated with a second customer access to the function block due to data indicative of the first customer having a higher priority than the second customer; and

prohibit the second virtual machine from accessing the function block when the function block is configured to provide the second functionality.

2. The integrated circuit device of claim 1 , wherein the data indicates that the first virtual machine has a higher priority than the second virtual machine.

3. The integrated circuit device of claim 1 , comprising input/output (I/O) circuitry configured to enable communication between the integrated circuit device and a second integrated circuit device that hosts the first and second virtual machines.

4. The integrated circuit device of claim 3 , wherein the I/O circuitry comprises the virtualization management circuitry.

5. The integrated circuit device of claim 1 , wherein the integrated circuit device comprises a programmable logic device.

6. The integrated circuit device of claim 5 , wherein the programmable logic device comprises a field-programmable gate array (FPGA).

7. The integrated circuit device of claim 6 , wherein the function block is implemented on a reconfigurable portion of the FPGA.

8. The integrated circuit device of claim 6 , wherein the function block is implemented on hard logic of the FPGA.

9. A system comprising:

processing circuitry configured to implement a first virtual machine and a second virtual machine; and

co-processing circuitry comprising:

a function block configurable to provide a first functionality and a second functionality; and

virtualization management circuitry configured to:

provide the first virtual machine and the second virtual machine access to the function block when the function block is configured to provide the first functionality; and

prohibit the first virtual machine from accessing the function block when the function block is configured to provide the second functionality.

10. The system of claim 9 , wherein the virtualization management circuitry is configured to establish a mapping between the first virtual machine and the function block, wherein the mapping indicates:

the first virtual machine has access to the function block when the function block is configured to provide the first functionality; or

the first virtual machine does not have access to the function block when the function block is configured to provide the second functionality.

11. The system of claim 9 , wherein the virtualization management circuitry is configured to provide the second virtual machine access to the function block when the function block is configured to provide the second functionality.

12. The system of claim 9 , wherein the co-processing circuitry comprises a field-programmable gate array (FPGA).

13. The system of claim 9 , wherein the function block is implemented using a reconfigurable portion of the co-processing circuitry.

14. The system of claim 13 , wherein upon reconfiguring the function block to provide the first functionality, the virtualization management circuitry is configured to provide the first virtual machine access to the function block before providing the second virtual machine access to the function block.

15. The system of claim 14 , wherein the virtualization management circuitry is configured to provide the first virtual machine access to the function block before providing the second virtual machine access to the function block based on data indicating that first virtual machine is associated with a first customer and the second virtual machine is associated with a second customer.

16. The system of claim 14 , wherein the virtualization management circuitry is configured to provide the first virtual machine access to the function block before providing the second virtual machine access to the function block based on data indicating that first virtual machine has a higher priority than the second virtual machine.

17. A method comprising:

receiving, at virtualization management circuitry of an integrated circuit device, first data indicating a first virtual machine to be provided access to a first functionality and a second functionality implemented in one or more function blocks of the integrated circuit device;

receiving, at the virtualization management circuitry, second data indicating a second virtual machine to be provided access to the first functionality;

when the one or more function blocks are configured to provide the first functionality, providing, via the virtualization management circuitry, the first virtual machine and the second virtual machine access to the one or more function blocks; and

when the one or more function blocks are configured to provide the second functionality:

providing, via the virtualization management circuitry, the first virtual machine access to the one or more function blocks; and

prohibiting, via the virtualization management circuitry, the second virtual machine from accessing the one or more function blocks.

18. The method of claim 17 , wherein the first virtual machine and second virtual machine are implemented on a second integrated circuit device that is communicatively coupled to the integrated circuit device.

19. The method of claim 17 , wherein the one or more function blocks are implemented on one or more reconfigurable portions of the integrated circuit device.

20. The method of claim 17 , comprising:

establishing, via the virtualization management circuitry, a mapping between the one or more function blocks and the first and second virtual machines, wherein the mapping indicates:

the first virtual machine and the second virtual machine have access to the one or more function blocks when the one or more function blocks are configured to provide the first functionality; or

the first virtual machine has access to the one or more function blocks and the second virtual does not have access to the one or more function blocks when the one or more function blocks are configured to provide the second functionality.

Assignments (1)
SECURITY INTEREST Recorded Sep 12, 2025
From: ALTERA CORPORATION
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 073431/0309 →