IP Library › Granted Patent US 8,838,867
Granted Patent B2
US 8,838,867 · App. 12/655,135 · Granted Sep 16, 2014

Software-based virtual PCI system

Inventor: David A. Daniel (Scottsdale, AZ)
Assignee: Nuon, Inc.
G06F13/385G06F3/0664G06F13/105
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 8,838,867
App. No.
12/655,135
Granted
Sep 16, 2014
Kind
B2
Abstract

A means for extending a PCI System of a host computer via software-centric virtualization. A Root Complex is virtualized at the host computer, and physically separated with a portion located remotely at an Endpoint, such as at a Remote Bus Adapter. One aspect of the invention avoids the need for a Host Bus Adapter. The invention utilizes 1 Gbps-10 Gbps or greater connectivity via the host's existing standard LAN adapter along with unique software to form the virtualization solution. The invention works within a host's PCI Express topology, extending the topology by adding an entire virtual I/O hierarchy via virtualization. The invention enables I/O virtualization in those implementations where a specialized host bus may not be desirable or feasible. Some examples of this may be a laptop computer, an embedded design, a cost-sensitive design, or a blade host where expansion slots are not available or accessible.

Claims (33)

1. A non-transitory computer readable medium having instructions operable with a local host system having a host CPU and an operating system, comprising:

instructions executable on the local host system configured to provide one or more I/O hierarchies comprising virtual I/O hierarchies through software means, wherein the I/O hierarchies are configured to appear to the host CPU and the operating system as being physically present within the local host system;

wherein a first set of said instructions are configured to be executed locally at the host CPU and a second set of said instructions are configured to be executed remotely on a network.

2. The computer readable medium as specified in claim 1 wherein the first set of said instructions and the second set of said instructions comprises a Root Complex.

3. The computer readable medium as specified in claim 1 further comprising:

instructions operable to implement a Host/PCI bridge portion of a Root Complex as a software emulation, configured to appear as part of the Root Complex, and configured to manage a Host PCI topology such that the operating system and applications running on the local host system are unaware that one said I/O hierarchy is a virtual I/O hierarchy;

instructions operable with a NIC configured to interface to the network;

instructions operable with a virtualization protocol configured to utilize the NIC and implement a network transport;

instructions operable with a remote assembly configured to adapt the network to a balance of the Root Complex, including a Root port;

instructions operable with a local assembly, the local assembly and the remote assembly together forming a complete Root Complex functionality; and

instructions operable with switches and endpoints located at the remote assembly operable with at least one said virtual I/O hierarchy.

4. The computer readable medium as specified in claim 3 wherein the at least one I/O virtual hierarchy is operable with the local host system without a physical network adapter.

5. The computer readable medium as specified in claim 3 wherein the network transport is defined by an Internet Protocol Suite.

6. The computer readable medium as specified in claim 5 , wherein the network transport is TCP/IP.

7. The computer readable medium as specified in claim 3 , wherein the network transport is a LAN.

8. The computer readable medium as specified in claim 7 , wherein the LAN is an Ethernet.

9. The computer readable medium as specified in claim 3 , where the network transport is a direct connect arrangement configured to utilize an Ethernet physical layer as a transport link, without consideration of a MAC hardware address or any interceding external Ethernet switch.

10. The computer readable medium as specified in claim 3 , wherein the network transport is a wireless transport and the local assembly and remote assembly(s) include a radio platform.

11. The computer readable medium as specified in claim 3 wherein the instructions comprise a virtualization protocol.

12. The computer readable medium as specified in claim 3 wherein the Host/PCI Bridge portion of the Root Complex is a software construct or emulation written as an extension or enhancement to an existing available Virtual Machine Monitor (VMM) or hypervisor.

13. The computer readable medium as specified in claim 3 wherein a majority of the Root Complex functionality is located remotely in a remote bus adapter.

14. A non-transitory computer readable medium having instructions operable with a local host system having a host CPU and an operating system, comprising:

instructions executable on the local host system configured to provide one or more I/O hierarchies comprising virtual I/O hierarchies through software means, wherein the I/O hierarchies are configured to appear to the host CPU and the operating system as being physically present within the local host system; and

instructions operable with a construct configured such that a peer Root Complex appears to the host CPU operating system.

15. A non-transitory computer readable medium having instructions operable with a local host system having a host CPU and an operating system, comprising:

instructions executable on the local host system configured to provide one or more I/O hierarchies comprising virtual I/O hierarchies through software means, wherein the I/O hierarchies are configured to appear to the host CPU and the operating system as being physically present within the local host system; and

instructions configured to intercept received application layer data and then re-map the data to a NIC.

16. The computer readable medium as specified in claim 15 further comprising instructions configured to remap the data by routing to the NIC or through a socket.

17. A non-transitory computer readable medium having instructions operable with a local host system having a host CPU and an operating system, comprising:

instructions executable on the local host system configured to provide one or more I/O hierarchies comprising virtual I/O hierarchies through software means, wherein the I/O hierarchies are configured to appear to the host CPU and the operating system as being physically present within the local host system; and

instructions configured to encapsulate/un-encapsulate packet data using a virtualization protocol.

18. The computer readable medium as specified in claim 17 further comprising instructions configured to interface PCI Express Root Complex data to/from a TCP/IP Offload Engine (TOE) via a port or socket.

19. The computer readable medium as specified in claim 17 further comprising instructions configured to route PCI transactions around a TCP/IP Offload Engine via a MAC Data Router to a MAC.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 8, 2014
From: DANIEL, DAVID A.
To: NUON, INC.
Reel/Frame 033497/0608 →
Continuity (2)
Provisional Application 61203633 · Dec 24, 2008
Related Publication 20100161872A1 · Jun 24, 2010