Non-volatile memory express over ethernet
First Claim
Patent Images
1. A method comprising:
- receiving, by a processing device of a storage server comprising an array of physical storage devices, a message encapsulating an input/output (I/O) command from a remote computing device, wherein the I/O command is directed to a virtual storage device that is associated with a plurality of physical storage devices of the array of physical storage devices;
identifying, by the processing device, the plurality of physical storage devices to be accessed to satisfy the I/O command;
generating, by the processing device, for each physical storage device of the plurality of physical storage devices, one or more non-volatile memory express (NVMe) commands directed to that physical storage device based on the I/O command; and
sending, by the processing device, to each physical storage device of the plurality of physical storage devices, the one or more non-volatile memory express (NVMe) commands directed to that physical storage device.
1 Assignment
0 Petitions
Accused Products
Abstract
A processing device receives a message encapsulating an input/output (I/O) command from a remote computing device. The processing device identifies one or more physical storage devices to be accessed to satisfy the I/O command. The processing device then sends, to each physical storage device of the one or more physical storage devices, one or more non-volatile memory express (NVMe) commands directed to that physical storage device.
158 Citations
18 Claims
-
1. A method comprising:
-
receiving, by a processing device of a storage server comprising an array of physical storage devices, a message encapsulating an input/output (I/O) command from a remote computing device, wherein the I/O command is directed to a virtual storage device that is associated with a plurality of physical storage devices of the array of physical storage devices; identifying, by the processing device, the plurality of physical storage devices to be accessed to satisfy the I/O command; generating, by the processing device, for each physical storage device of the plurality of physical storage devices, one or more non-volatile memory express (NVMe) commands directed to that physical storage device based on the I/O command; and sending, by the processing device, to each physical storage device of the plurality of physical storage devices, the one or more non-volatile memory express (NVMe) commands directed to that physical storage device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system comprising:
-
an array of physical storage devices; and a storage controller coupled to the array of physical storage devices via at least one of a switch or a bus, the storage controller comprising a processing device that is to; receive a message encapsulating an input/output (I/O) command from a remote computing device, wherein the I/O command is directed to a virtual storage device that is associated with a plurality of physical storage devices of the array of physical storage devices; identify the plurality of physical storage devices to be accessed to satisfy the I/O command; generate, for each physical storage device of the plurality of physical storage devices, one or more non-volatile memory express (NVMe) commands directed to that physical storage device based on the I/O command; and send, to each physical storage device of the plurality of physical storage devices, the one or more non-volatile memory express (NVMe) commands directed to that physical storage device. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A non-transitory computer readable storage medium having instructions that, when executed by a processing device of a storage server comprising an array of physical storage devices, cause the processing device to perform operations comprising:
-
receiving, by the processing device of the storage server comprising the array of physical storage devices, an Ethernet packet encapsulating an input/output (I/O) command from a remote computing device, wherein the I/O command is directed to a virtual non-volatile memory express (NVMe) drive that is associated with a plurality of physical storage devices of the array of physical storage devices; identifying, by the processing device, a plurality of physical NVMe drives to be accessed to satisfy the I/O command; generating, by the processing device, for each physical NVMe drive of the plurality of physical NVMe drives, one or more non-volatile memory express (NVMe) commands directed to that physical NVMe drive based on the I/O command; and sending, by the processing device, to each physical NVMe drive of the plurality of physical NVMe drives, the one or more NVMe commands directed to that physical NVMe drive. - View Dependent Claims (18)
-
Specification