US 12,242,748 B2
Intermediary for storage command transfers
Shaopeng He, Shanghai (CN); Yadong Li, Portland, OR (US); Ziye Yang, Shanghai (CN); Changpeng Liu, Shanghai (CN); Banghao Ying, Wenzhou (CN); and Robert O. Sharp, Austin, TX (US)
Assigned to Intel Corporation, Santa Clara, CA (US)
Filed by Intel Corporation, Santa Clara, CA (US)
Filed on Jun. 23, 2020, as Appl. No. 16/909,693.
Claims priority of provisional application 63/034,321, filed on Jun. 3, 2020.
Prior Publication US 2020/0319812 A1, Oct. 8, 2020
Int. Cl. G06F 12/00 (2006.01); G06F 3/06 (2006.01); G06F 13/00 (2006.01)
CPC G06F 3/0644 (2013.01) [G06F 3/0604 (2013.01); G06F 3/0629 (2013.01); G06F 3/0659 (2013.01); G06F 3/0665 (2013.01); G06F 3/067 (2013.01); G06F 3/0683 (2013.01)] 17 Claims
OG exemplary drawing
 
1. A method comprising:
causing creation of a processor-executed initiator as a mediated device in kernel space of a host system, wherein the initiator comprises a virtual function I/O (VFIO) based user space layer block in user space of the host system;
the processor-executed initiator copying one or more storage access commands from a virtualized execution environment into a queue for access by a remote direct memory access (RDMA) compatible network interface, wherein
a hypervisor, executing in user space, that utilizes a driver and an interface for communication between the virtualized execution environment and the processor-executed initiator,
the initiator is accessible as a Non-Volatile Memory Express (NVMe) device, and
the initiator is configured with an address space configured solely in the kernel space for access by the virtualized execution environment; and
the network interface transmitting NVMe-oF compatible commands, based on the one or more storage access commands, to a target storage device.