US 11,704,059 B2
Remote direct attached multiple storage function storage device
Amir Beygi, San Jose, CA (US); Jimmy Lau, Santa Clara, CA (US); and Ramdas P. Kachare, Pleasanton, CA (US)
Assigned to SAMSUNG ELECTRONICS CO., LTD.
Filed by Samsung Electronics Co., Ltd., Suwon-si (KR)
Filed on Nov. 25, 2020, as Appl. No. 17/105,497.
Claims priority of provisional application 63/075,092, filed on Sep. 4, 2020.
Claims priority of provisional application 62/971,902, filed on Feb. 7, 2020.
Prior Publication US 2021/0247935 A1, Aug. 12, 2021
Int. Cl. G06F 3/06 (2006.01)
CPC G06F 3/0659 (2013.01) [G06F 3/061 (2013.01); G06F 3/0664 (2013.01); G06F 3/0679 (2013.01); G06F 2212/7203 (2013.01)] 19 Claims
OG exemplary drawing
 
1. A multiple function storage device, comprising:
an enclosure;
a storage device associated with the enclosure, including:
a connector to receive a first message using a first protocol, the first message originating at a host;
a physical function (PF) and a virtual function (VF) exposed by the storage device via the connector;
storage for data relating to the first message; and
a controller to manage writing a write data to the storage and reading a read data from the storage; and
a bridging device associated with the enclosure, including:
a first Non-Volatile Memory Express (NVMe) over Fabrics (NVMeoF) submission/completion queue pair for the host, the first NVMeoF submission/completion queue pair using the first protocol;
a second NVMeoF submission/completion queue pair for the host, the second NVMeoF submission/completion queue pair using the first protocol;
a first NVMe submission/completion queue pair for the PF, the first NVMe submission/completion queue pair using a second protocol;
a second NVMe submission/completion queue pair for the VF, the second NVMe submission/completion queue pair using the second protocol;
an embedded network interface controller (eNIC) to receive a second message using the second protocol from the host, the second message received using the first NVMe submission/completion queue pair or the second NVMe submission/completion queue pair;
a write buffer to store the write data to be written to the storage device by the host;
a read buffer to store the read data to be read from the storage device for the host;
a bridge circuit to translate the second message using the second protocol into the first message using the first protocol; and
a root port to identify the storage device and to transmit the first message to the VF using the first NVMeoF submission/completion queue pair or the second NVMe submission/completion queue pair,
wherein the bridging device is configured to map the host to the VF.