US 11,902,184 B2
Methods and systems for providing a virtualized NVMe over fabric service
Silvano Gai, Bend, OR (US); Michael Brian Galles, Los Altos, CA (US); Mario Mazzola, San Jose, CA (US); Luca Cafiero, Palo Alto, CA (US); Krishna Doddapaneni, Cupertino, CA (US); and Sarat Kamisetty, Fremont, CA (US)
Assigned to Pensando Systems Inc., Milpitas, CA (US)
Filed by Pensando Systems Inc., Milpitas, CA (US)
Filed on May 20, 2021, as Appl. No. 17/326,284.
Prior Publication US 2022/0377027 A1, Nov. 24, 2022
Int. Cl. H04L 49/901 (2022.01); H04L 47/125 (2022.01); G06F 13/42 (2006.01); H04L 45/74 (2022.01)
CPC H04L 49/901 (2013.01) [G06F 13/4282 (2013.01); H04L 45/74 (2013.01); H04L 47/125 (2013.01); G06F 2213/0026 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method comprising:
associating, by a PCIe device, a request identifier with a command identifier of a submission queue element (SQE) after reading the SQE from a submission queue (SQ), the SQE including the command identifier, an OpCode, and a namespace identifier (NSID);
producing, by the PCIe device, a first local transport protocol (LTP) packet that includes the opcode, the NSID, and the request identifier after reading the SQE from the SQ;
sending the first LTP packet to a service node;
receiving, in response to sending the first LTP packet, a second LTP packet that includes the request identifier and a status indicator;
using the request identifier in the second LTP packet to identify the command identifier;
using, by the PCIe device, the status indicator, the command identifier, and the request identifier to produce a completion queue entry (CQE) that is responsive to the SQE; and
placing the CQE on a completion queue (CQ) associated with the SQ,
wherein the SQ is an NVMe SQ, and the CQ is an NVMe CQ.