US 11,681,441 B2
Input/output processing in a distributed storage node with RDMA
Peter Puhov, Shrewsbury, MA (US); and Robert Foley, Clinton, MA (US)
Assigned to Huawei Technologies Co., Ltd., Shenzhen (CN)
Filed by Huawei Technologies Co., Ltd., Shenzhen (CN)
Filed on Jul. 14, 2021, as Appl. No. 17/305,752.
Application 17/305,752 is a continuation of application No. PCT/CN2019/083584, filed on Apr. 22, 2019.
Claims priority of provisional application 62/798,890, filed on Jan. 30, 2019.
Prior Publication US 2021/0342071 A1, Nov. 4, 2021
Int. Cl. G06F 3/06 (2006.01)
CPC G06F 3/0613 (2013.01) [G06F 3/0604 (2013.01); G06F 3/064 (2013.01); G06F 3/067 (2013.01); G06F 3/0631 (2013.01); G06F 3/0659 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A computer-implemented method for remote direct memory access (RDMA) by a distributed storage node, the method comprising:
receiving a request for an input/output (I/O) process associated with data;
in response to the request, allocating using an operating system driver of the distributed storage node, a memory segment shared between the operating system and a user process running on the distributed storage node, wherein:
the user process includes an I/O stack for processing the request;
the shared memory segment includes a context memory portion storing context information associated with the I/O stack, a header memory portion storing header information for the I/O process, and a data memory portion for storing the data; and
the shared memory segment is registered for RDMA access with a target storage node;
performing an RDMA transfer between the shared memory segment of the distributed storage node and the target storage node to complete the I/O process; and
deallocating the shared memory segment in response to receiving a status indicator of completion of the RDMA transfer.