IP Library Patent Application 14816864
Patent Application
App. No. 14/816,864

Virtual Function Boot In Single-Root and Multi-Root I/O Virtualization Environments

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 None
App. No.
14/816,864
Abstract

A method for virtual function boot in a system including a single-root I/O virtualization (SR-IOV) enabled server includes loading a PF driver of the PF of a storage adapter onto the server utilizing the virtual machine manager of the server; creating a plurality of virtual functions utilizing the PF driver, detecting each of the virtual functions on an interconnection bus, maintaining a boot list associated with the plurality of virtual functions, querying the storage adapter for the boot list utilizing a VMBIOS associated with the plurality of VMs, presenting the detected boot list to a VM boot manager of the VMM, and booting each of the plurality of virtual machines utilizing each of the virtual functions, wherein each VF of the plurality of VFs is assigned to a VM of the plurality of VMs via an interconnect passthrough between the VMM and the plurality of VMs.

Claims (42)

1 . A method for virtual function boot in a system including a single-root I/O virtualization (SR-IOV) enabled server configured to implement a plurality of virtual machines (VMs) and a virtual machine manager (VMM) and a storage adapter including at least one physical function (PF) and configured to implement a plurality of virtual functions, wherein the SR-IOV enabled server and the physical storage adapter are communicatively couplable, comprising:

upon interconnection of the storage adapter with the SR-IOV enabled server and boot of the SR-IOV enabled server and storage adapter, loading a PF driver of the PF of the storage adapter onto the SR-IOV enabled server utilizing the virtual machine manager of the SR-IOV enable server;

creating a plurality of virtual functions utilizing the PF driver;

detecting each of the plurality of virtual functions on an interconnection bus utilizing the VMM;

maintaining a boot list associated with the plurality of virtual functions;

querying the storage adapter for the boot list associated with the plurality of virtual functions utilizing a VMBIOS associated with the plurality of VMs, the VMBIOS being configured to detect the boot list associated with the plurality of virtual functions;

presenting the detected boot list to a VM boot manager of the VMM utilizing the VMBIOS; and

booting each of the plurality of virtual machines utilizing each of the virtual functions, wherein each VF of the plurality of VFs is assigned to a VM of the plurality of VMs via an interconnect passthrough between the VMM and the plurality of VMs, wherein each of a plurality of virtual disks (VDs) is mapped to a VF of the plurality of virtual functions utilizing the VM boot manager.

2 . The method of claim 1 , wherein the interconnection of the storage adapter with the SR-IOV enabled server and boot of the SR-IOV enabled server and storage adapter comprises:

interconnecting the physical storage adapter to the SR-IOV enabled server via the interconnection bus;

booting SR-IOV enabled server firmware and physical storage adapter firmware; and

during SR-IOV enabled server firmware and physical storage adapter firmware boot, identifying the physical function of the physical storage adapter as a controller of the SR-IOV enabled server utilizing the virtual machine manager.

3 . The method of claim 1 , wherein the maintaining a boot list associated with the plurality of virtual functions comprises:

maintaining a boot list associated with the plurality of virtual functions, wherein storage adapter firmware is configured to maintain and track boot data for each virtual function.

4 . The method of claim 1 , wherein the querying the storage adapter for the boot list associated with the plurality of virtual functions utilizing a VMBIOS associated with the plurality of VMs comprises:

querying the storage adapter firmware for the boot list associated with the plurality of virtual functions utilizing a VMBIOS associated with the plurality of VMs, the VMBIOS being configured to detect the boot list associated with the plurality of virtual functions.

5 . The method of claim 1 , wherein the storage adapter comprises:

a MegaRAID card.

6 . The method of claim 1 , wherein the interconnection bus comprises:

a Peripheral Component Interconnect Express (PCIe) interconnection bus.

7 . The method of claim 1 , wherein the interconnection passthrough comprises:

a PCIe passthrough.

8 . The method of claim 1 , further comprising:

providing a diagnostic message indicative of a status of at least one virtual function drivers.

9 . The method of claim 8 , wherein the providing a diagnostic message indicative of a status of at least one virtual function drivers comprises:

transmitting a status signal from the at least one virtual function driver to the storage adapter, the status signal being indicative of the status of the at least one virtual function driver;

storing information associated with the status signal utilizing storage adapter firmware;

relaying the status signal from the storage adapter to the PF driver in the VM manager;

relaying the status signal from the PF driver to at least one of an error handler of the VM manager or management tool of the VM manager; and

transmitting a user signal to a user interface from the management tool, wherein the user signal is configured to trigger a pre-determined message selected based on a characteristic of the status signal.

10 . A system for virtual function boot in a system comprising:

a single-root I/O virtualization (SR-IOV) server configured to implement a plurality of virtual machines (VMs) and a virtual machine manager (VMM); and

a storage adapter including at least one physical function (PF), storage adapter configured to implement a plurality of virtual functions, the storage adapter being communicatively couplable to the SR-IOV enabled server via a PCIe slot of the SR-IOV enabled server, wherein, upon interconnection of the storage adapter with the SR-IOV enabled server, the storage adapter and the SR-IOV enabled server are configured to:

load a PF driver of the PF of the storage adapter onto the SR-IOV enabled server utilizing the virtual machine manager of the SR-IOV enable server;

create a plurality of virtual functions utilizing the PF driver;

detect each of the plurality of virtual functions on an interconnection bus utilizing the VMM;

maintain a boot list associated with the plurality of virtual functions;

query the storage adapter for the boot list associated with the plurality of virtual functions utilizing a VMBIOS associated with the plurality of VMs, the VMBIOS being configured to detect the boot list associated with the plurality of virtual functions;

present the detected boot list to a VM boot manager of the VMM utilizing the VMBIOS; and

boot each of the plurality of virtual machines utilizing each of the virtual functions, wherein each VF of the plurality of VFs is assigned to a VM of the plurality of VMs via an interconnect passthrough between the VMM and the plurality of VMs, wherein each of a plurality of virtual disks (VDs) is mapped to a VF of the plurality of virtual functions utilizing the VM boot manager.

11 . The method of claim 19 , wherein the storage adapter comprises:

a MegaRAID card.

Assignments (2)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041710/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037808/0001 →