Multifunction option virtualization for single root I/O virtualization

US10635499B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10635499-B2
Application numberUS-201615078166-A
CountryUS
Kind codeB2
Filing dateMar 23, 2016
Priority dateMar 23, 2016
Publication dateApr 28, 2020
Grant dateApr 28, 2020

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Methods and systems for supporting multifunction virtualization within SR-IOV in a multi-partition virtualization system are described. One method includes instantiating a physical function of an I/O interface device within an interconnect partition of a multi-partition virtualization system implemented at least in part on the computing device, and instantiating a plurality of virtual functions within a guest partition of the multi-partition virtualization system, each of the plurality of virtual functions associated with a physical function. The method includes assigning a bus identifier, a device identifier, and a function identifier to each of the plurality of virtual functions, the plurality of virtual functions including a first virtual function associated with a first bus identifier and a first device identifier and a second virtual function associated with the first bus identifier and the first device identifier.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method of allocating virtual functions associated with physical functions of input/output (I/O) interface devices of a computing device, the method comprising: instantiating at least one physical function with an I/O interface device within an interconnect partition of a multi-partition virtualization system implemented at least in part on the computing device, the interconnect partition being managed by a first partition monitor; instantiating a plurality of virtual functions within a guest partition of the multi-partition virtualization system, the guest partition being managed by a second partition monitor different from the first partition monitor, each of the plurality of virtual functions associated with a physical function via a mapping between the plurality of virtual functions and physical functions in a configuration file; and assigning a bus identifier, a device identifier, and a function identifier to each of the plurality of virtual functions within the guest partition, the plurality of virtual functions including a first virtual function associated with a first bus identifier and a first device identifier and a second virtual function associated with the first bus identifier and the first device identifier; wherein correspondence between each of the plurality of virtual functions and the physical function is managed via the configuration file independently of the bus identifier, the device identifier, and the function identifier of each of the plurality of virtual functions. 2. The method of claim 1 , wherein the first virtual function is assigned a first function identifier and the second virtual function is assigned a second function identifier. 3. The method of claim 2 , wherein the first function identifier is the same as the second function identifier, and wherein the first and second function identifiers define functions of the I/O interface device supporting multifunction operation. 4. The method of claim 2 , wherein the first function identifier and the second function identifier are each assigned to different functions of the I/O interface device. 5. The method of claim 1 , further comprising instantiating a physical function within the guest partition, the physical function associated with the first bus identifier and the first device identifier, the physical function associated with a second I/O interface device different from the I/O interface device. 6. The method of claim 1 , wherein the first bus identifier and the first device identifier are assigned to the physical function in the interconnect service partition corresponding to the first and second virtual functions. 7. The method of claim 1 , wherein the first virtual function is associated with the physical function in the interconnect service partition and the second virtual function is associated with a second physical function in the interconnect service partition. 8. The method of claim 1 , wherein the first physical function is associated with the I/O interface device and the second physical function is associated with a second I/O interface device different from the I/O interface device. 9. A virtualization system including a plurality of partitions provided on a computing device including at least one input/output (I/O) device having one or more physical functions, the virtualization system comprising: a memory of a computing device; an interconnect service partition instantiated in the memory of the computing device, the interconnect partition being managed by a first partition monitor, the interconnect service partition including a single root I/O manager, the single-root I/O manager including a physical function device driver corresponding to a physical function of an I/O device of the computing device, the physical function device driver accessible via a first bus identifier and a second bus identifier; a guest partition including an operating system into which the guest partition boots, the guest partition being managed by a second partition monitor different from the first partition monitor; a first virtual function instantiated within the guest partition, the first virtual function associated with the first bus identifier and the first device identifier; a second virtual function instantiated within the guest partition, the second virtual function associated with the first bus identifier and the first device identifier wherein the first virtual function and the second virtual function provide access to the I/O interface device and expose the I/O interface device to the operating system of the guest partition as two devices based on a mapping in a configuration file between the first virtual function and the second virtual function to a physical function provided by the physical function device driver; wherein correspondence between each of the plurality of virtual functions and the physical function is managed via the configuration file independently of the bus identifier, the device identifier, and the function identifier of each of the plurality of virtual functions. 10. The virtualization system of claim 9 , wherein the first virtual function is assigned a first function identifier and the second virtual function is assigned a second function identifier. 11. The virtualization system of claim 9 , further comprising a plurality of guest partitions including the guest partition and a second guest partition, the second guest partition having a third virtual function instantiated therein, the third virtual function associated with the first bus identifier and the first device identifier, thereby associating the third virtual function with the physical function device driver of the I/O device. 12. The virtualization system of claim 9 , wherein the physical function device driver is stored in a single root PCI manager of the interconnect service partition. 13. The virtualization system of claim 9 , further comprising a second physical function device driver different from the physical function device driver, the second physical function device driver associated with a different physical function of the I/O device. 14. The virtualization system of claim 9 , further comprising a second physical function device driver different from the physical function device driver, and a second I/O device, the second physical function device driver associated with a physical function of the second I/O device. 15. The virtualization system of claim 14 , wherein the second physical function device driver is stored in the interconnect service partition. 16. The virtualization system of claim 14 , wherein the second physical function device driver is assigned the first bus identifier and the first device identifier. 17. The virtualization system of claim 14 , wherein the second physical function device driver is assigned a second bus identifier different from the first bus identifier and a second device identifier different from the first device identifier. 18. The virtualization system of claim 14 , wherein the second physical function device driver is stored in the guest partition and assigned the first bus identifier and the first function identifier. 19. A method of allocating virtual functions associated with physical functions of input/output (I/O) interface devices of a computing device, the method comprising: associating a first physical function device driver with an I/O interface device within an interconnect partition of a multi-partition virtualization system implemented at least in part on the computing device, the first phy

Assignees

Inventors

Classifications

  • G06F9/5077Primary

    Logical partitioning of resources; Management or configuration of virtualized resources (specific details on emulation or internal functioning of virtual machines G06F9/455) · CPC title

  • I/O management, e.g. providing access to device drivers or storage · CPC title

  • Para-virtualisation, i.e. guest operating system has to be modified · CPC title

  • Hypervisor-specific management and integration aspects · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10635499B2 cover?
Methods and systems for supporting multifunction virtualization within SR-IOV in a multi-partition virtualization system are described. One method includes instantiating a physical function of an I/O interface device within an interconnect partition of a multi-partition virtualization system implemented at least in part on the computing device, and instantiating a plurality of virtual functions…
Who is the assignee on this patent?
Huynh Sung V, Unisys Corp
What technology area does this patent fall under?
Primary CPC classification G06F9/5077. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 28 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).