US 12,282,791 B2
Virtualized I/O
Leon Dang, San Jose, CA (US); Keith Reynolds, Issaquah, WA (US); and Isaac R. Nassi, Los Gatos, CA (US)
Assigned to Hewlett Packard Enterprise Development LP, Spring, TX (US)
Filed by Hewlett Packard Enterprise Development LP, Spring, TX (US)
Filed on Jan. 31, 2022, as Appl. No. 17/589,529.
Application 17/589,529 is a continuation of application No. 16/186,329, filed on Nov. 9, 2018, granted, now 11,275,600.
Claims priority of provisional application 62/586,035, filed on Nov. 14, 2017.
Prior Publication US 2022/0229688 A1, Jul. 21, 2022
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 9/455 (2018.01); G06F 12/0868 (2016.01); G06F 12/0891 (2016.01); G06F 12/1009 (2016.01); G06F 13/10 (2006.01); G06F 13/24 (2006.01)
CPC G06F 9/45558 (2013.01) [G06F 9/455 (2013.01); G06F 12/0868 (2013.01); G06F 12/0891 (2013.01); G06F 12/1009 (2013.01); G06F 13/105 (2013.01); G06F 13/24 (2013.01); G06F 2009/45579 (2013.01); G06F 2009/45583 (2013.01); G06F 2212/7201 (2013.01)] 18 Claims
OG exemplary drawing
 
1. A computing node, comprising:
a set of processors to run a first hyper-kernel;
an input/output (I/O) device to provide data associated with an I/O operation to the computing node; and
a memory device is to store the data in one or more portions of a physical memory space of the memory device;
wherein a guest operating system executes on a virtual environment that is defined by a set of hyper-kernels running on a plurality of interconnected computing nodes, and wherein the set of hyper-kernels includes the first hyper-kernel and presents, in conjunction with each other, unified processing and memory resources of the plurality of interconnected computing nodes to the guest operating system;
wherein the first hyper-kernel is to:
receive, at the computing node, an indication of a request to transfer the data to a set of guest physical addresses presented to the guest operating system; and
determine physical addresses of the one or more portions of the physical memory space of the memory device mapped to the set of guest physical addresses, wherein a quest physical address in the set of quest physical addresses is remapped from a previous physical address associated with a second computing node in the plurality of interconnected computing nodes to a new physical address associated with the computing node, and wherein the second computing node is to invalidate the previous physical address;
wherein the I/O device is to deliver, to the first hyper-kernel, an interrupt indicating completion of providing the data of the I/O operation associated with the one or more portions of physical memory space; and
wherein, in response to receiving the interrupt, the first hyper-kernel is to deliver a virtual interrupt indicating completion of the I/O operation to the guest operating system via a virtual processor of the virtual environment.