Patent ID: 11899935
Assignee: EMC IP HOLDING COMPANY LLC
Field: Computer technology (Electrical engineering)
Classification: CPC G | IPC G

Claim 10:
11. A computing system including one or more processors and one or more memories configured to perform operations comprising:
exposing, by a user block layer of a computing device, a storage device as a block device to an application associated with an IO request, wherein the user block layer includes an interface layer exposing the storage device to the application, exposing a unified API for all supported block device back ends, and implementing common mechanisms for block device back ends;
obtaining, by the user block layer, an IO descriptor list and a destination namespace associated with the IO request, wherein each IO descriptor of the IO descriptor list includes one or more of a command ID, and IO vector, and an op-code;
pre-registering, by the user block layer, application memory used for IO data associated with the IO request, wherein pre-registering the application memory occurs before processing the IO request and includes
pinning physical memory within the application memory and
preparing a virtual to physical address translation;

exposing, by a Non-Volatile Memory Express (NVMe) protocol layer of the computing device, a NVMe storage device associated with the IO request to the user block layer; and
creating, by a NVMe-over-Remote Direct Memory Access (RDMA) layer of the computing device, a NVMe RDMA queue for the IO request to be processed.