US 11,861,326 B1
Flow control between non-volatile memory storage and remote hosts over a fabric
Santosh Singh, Hyderabad (IN); Deboleena M. Sakalley, Hyderabad (IN); Ramesh R. Subramanian, Hyderabad (IN); Pankaj V. Kumbhare, Hyderabad (IN); and Ravi K. Boddu, Hyderabad (IN)
Assigned to XILINX, INC., San Jose, CA (US)
Filed by Xilinx, Inc., San Jose, CA (US)
Filed on Apr. 6, 2016, as Appl. No. 15/092,490.
Int. Cl. G06F 15/16 (2006.01); G06F 5/06 (2006.01); G06F 3/06 (2006.01); G06F 15/173 (2006.01)
CPC G06F 5/065 (2013.01) [G06F 3/061 (2013.01); G06F 3/0655 (2013.01); G06F 3/0688 (2013.01); G06F 15/17331 (2013.01); G06F 2205/067 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method of flow control, the method comprising:
receiving, by a nonvolatile memory express over fabric (NVMEoF) controller of a target system, commands for at least two NVM subsystems of a plurality of nonvolatile memory (NVM) subsystems of the target system from at least two remote hosts coupled to the target system over a front-end fabric, the plurality of NVM subsystems coupled to the NVMEoF controller over a back end fabric of the target system, the front-end fabric having a first transport and the back end fabric having a second transport different than the first transport, none of the at least two remote hosts co-locational with the target system;
storing the commands in a first buffer implemented in memory of the target system; and
updating a first virtual submission queue associated with a first one of the at least two remote hosts and a second virtual submission queue associated with a second one of the at least two remote hosts based on the commands stored in the first buffer.