Dynamic allocation and assignment of virtual functions within fabric

US9384060B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9384060-B2
Application numberUS-201414487192-A
CountryUS
Kind codeB2
Filing dateSep 16, 2014
Priority dateSep 16, 2014
Publication dateJul 5, 2016
Grant dateJul 5, 2016

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 allocating, one or more virtual functions of a plurality of virtual functions associated with physical functions of I/O interface devices of a computing device are described. One method includes managing one or more physical functions 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. The method further includes, during a boot process of a second partition on the computing device, parsing a file to determine an assignment of one or more virtual functions to the second partition and associate each of the one or more virtual functions to corresponding physical functions.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method of allocating one or more virtual functions of a plurality of virtual functions associated with physical functions of I/O interface devices of a computing device, the method comprising: managing one or more physical functions 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 during a boot process of a second partition on the computing device, parsing a file to determine an assignment of one or more virtual functions to the second partition and associate each of the one or more virtual functions to corresponding physical functions, wherein the file comprises an XML file defining associations between at least one physical function and a plurality of virtual functions; based on a change to the XML file adding a new virtual function associated with one of the physical functions, re-setting a value in an ECAM configuration space identifying a number of virtual functions associated with the physical function, wherein re-setting the value is performed by a trusted code base executing on the computing system. 2. The method of claim 1 , wherein the each of the one or more virtual functions is activated and associated with the second partition prior to booting into an operating system hosted within the guest partition. 3. The method of claim 1 , further comprising storing a physical function device driver in the interconnect service partition. 4. The method of claim 3 , wherein storing the physical function device driver in the interconnect service partition includes storing the physical function device driver in a single root PCI manager of the interconnect service partition. 5. The method of claim 1 , wherein the second partition comprises a guest partition. 6. The method of claim 1 , wherein the second partition comprises an I/O service partition. 7. The method of claim 1 , wherein the trusted code base is separate from the interconnect service partition. 8. The method of claim 7 , further comprising reading the value directly from ECAM configuration space by a physical function device driver included in the interconnect service partition. 9. A computer program product of allocating one or more virtual functions of a plurality of virtual functions associated with physical functions of I/O interface devices of a computing device, comprising: a non-transitory computer-readable medium comprising instructions which, when executed by a processor of a computing system, cause the processor to perform the steps of: managing one or more physical functions 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 during a boot process of a second partition on the computing device, parsing a file to determine an assignment of one or more virtual functions to the second partition and associate each of the one or more virtual functions to corresponding physical functions, wherein the file comprises an XML file defining associations between at least one physical function and a plurality of virtual functions; based on a change to the XML file adding a new virtual function associated with a one of the physical functions, re-setting a value in an ECAM configuration space identifying a number of virtual functions associated with the physical function, wherein re-setting the value is performed by a trusted code base executing on the computing system. 10. The computer program product of claim 9 , wherein the each of the one or more virtual functions is activated and associated with the second partition prior to booting into an operating system hosted within the guest partition. 11. The computer program product of claim 9 , further comprising storing a physical function device driver in the interconnect service partition. 12. The computer program product of claim 11 , wherein storing the physical function device driver in the interconnect service partition includes storing the physical function device driver in a single root PCI manager of the interconnect service partition. 13. The computer program product of claim 2 , wherein the second partition comprises a guest partition. 14. The computer program product of claim 9 , wherein the second partition comprises an I/O service partition. 15. The computer program product of claim 9 , wherein the trusted code base is separate from the interconnect service partition. 16. The computer program product of claim 15 , further comprising reading the value directly from ECAM configuration space by a physical function device driver included in the interconnect service partition. 17. An apparatus of allocating one or more virtual functions of a plurality of virtual functions associated with physical functions of I/O interface devices of a computing device, comprising: a memory; and a processor coupled to the memory, the processor configured to execute the steps of: managing one or more physical functions 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 during a boot process of a second partition on the computing device, parsing a file to determine an assignment of one or more virtual functions to the second partition and associate each of the one or more virtual functions to corresponding physical functions, wherein the file comprises an XML file defining associations between at least one physical function and a plurality of virtual functions; based on a change to the XML file adding a new virtual function associated with a one of the physical functions, re-setting a value in an ECAM configuration space identifying a number of virtual functions associated with the physical function, wherein re-setting the value is performed by a trusted code base executing on the computing system. 18. The apparatus of claim 17 , wherein the each of the one or more virtual functions is activated and associated with the second partition prior to booting into an operating system hosted within the guest partition. 19. The apparatus of claim 17 , further comprising storing a physical function device driver in the interconnect service partition. 20. The apparatus of claim 19 , wherein storing the physical function device driver in the interconnect service partition includes storing the physical function device driver in a single root PCI manager of the interconnect service partition. 21. The apparatus of claim 17 , wherein the second partition comprises a guest partition. 22. The apparatus of claim 17 , wherein the second partition comprises an I/O service partition. 23. The apparatus of claim 17 , wherein the trusted code base is separate from the interconnect service partition. 24. The apparatus of claim 23 , further comprising reading the value directly from ECAM configuration space by a physical function device driver included in the interconnect service partition.

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

  • Guest-host, i.e. hypervisor is an application program itself, e.g. VirtualBox · CPC title

  • Hypervisor-specific management and integration aspects · CPC title

  • Configuring for operating with peripheral devices; Loading of device drivers · 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 US9384060B2 cover?
Methods and systems for allocating, one or more virtual functions of a plurality of virtual functions associated with physical functions of I/O interface devices of a computing device are described. One method includes managing one or more physical functions of an I/O interface device within an interconnect partition of a multi-partition virtualization system implemented at least in part on the…
Who is the assignee on this patent?
Hunter James R, Huynh Sung V, Cavanagh Edward T, and 2 more
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 Jul 05 2016 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).