SDS-enabled disaggregated infrastructure direct I/O execution system
A Software-Defined Storage (SDS)-enabled disaggregated infrastructure direct Input/Output (I/O) execution system includes an SDS subsystem that is coupled to each of a computing system and a storage system. The SDS subsystem receives an I/O command from the computing system that is directed to the storage system and that includes computing system direct memory access information. The SDS subsystem translates the I/O command to provide a translated I/O command. The SDS subsystem then provides the translated I/O command along with the computing system direct memory access information to the storage system. The storage system may then execute the translated I/O command directly with the computing system using the computing system direct memory access information.
1 . A Software-Defined Storage (SDS)-enabled disaggregated infrastructure direct Input/Output (I/O) execution system, comprising:
a computing system that provides a host;
a storage system that provides an SDS storage cluster and that is coupled to the computing system via a network; and
a Software-Defined Storage (SDS) subsystem that is coupled to each of the computing system and the storage system via the network, wherein the SDS subsystem is configured to:
receive, from the computing system via the network, an Input/Output (I/O) command that is directed to one or more logical storage spaces in the SDS storage cluster provided by the storage system and that includes computing system remote direct memory access information;
translate the one or more logical storage spaces in the SDS storage cluster to which the I/O command is directed to one or more physical storage spaces in the storage system, and generate a translated I/O command directed to the one or more one or more physical storage spaces in the storage system; and
provide the translated I/O command along with the computing system remote direct memory access information via the network to the storage system to cause the storage system to execute the translated I/O command directly with the computing system via the network using the computing system remote direct memory access information.
2 . The system of claim 1 , wherein the translating the I/O command includes performing logical-to-physical mapping operations to translate the one or more logical storage spaces to the one or more physical storage spaces.
3 . The system of claim 1 , wherein the I/O command is a read I/O command that the SDS subsystem is configured to translate to provide the translated I/O command provided by a translated read I/O command that, when provided along with the computing system remote direct memory access information to the storage system, causes the storage system to execute the translated read I/O command to transmit data stored in the storage system directly to the computing system based on the computing system remote direct memory access information.
4 . The system of claim 1 , wherein the I/O command is a write I/O command that the SDS subsystem is configured to translate to provide the translated I/O command provided by a translated write I/O command that, when provided along with the computing system remote direct memory access information to the storage system, causes the storage system to execute the translated write I/O command to retrieve data stored in the computing system directly from the computing system and store that data in the storage system based on the computing system remote direct memory access information.
5 . The system of claim 1 , wherein the network is a Transport Control Protocol (TCP) network.
6 . The system of claim 1 , wherein the SDS subsystem is configured to:
provide, to the storage system along with the translated I/O command and the computing system remote direct memory access information, computing system/storage system connection information that is configured for use by the storage system in connecting to the computing system to execute the translated I/O command directly with the computing system.
7 . An Information Handling System (IHS), comprising:
a processing system; and
a memory system that is coupled to the processing system and that includes instructions that, when executed by the processing system, cause the processing system to provide a Software-Defined Storage (SDS) engine that is configured to:
receive, via a network from a computing system that provides a host, an Input/Output (I/O) command that is directed to one or more logical storage spaces in an SDS storage cluster provided by a storage system and that includes computing system remote direct memory access information;
translate the one or more logical storage spaces in the SDS storage cluster to which the I/O command is directed to one or more physical storage spaces in the storage system, and generate a translated I/O command directed to the one or more one or more physical storage spaces in the storage system; and
provide the translated I/O command along with the computing system remote direct memory access information via the network to the storage system to cause the storage system to execute the translated I/O command directly with the computing system via the network using the computing system direct memory access information.
8 . The IHS of claim 7 , wherein the translating the I/O command includes performing logical-to-physical mapping operations to translate the one or more logical storage spaces to the one or more physical storage spaces.
9 . The IHS of claim 7 , wherein the I/O command is a read I/O command that the SDS engine is configured to translate to provide the translated I/O command provided by a translated read I/O command that, when provided along with the computing system remote direct memory access information to the storage system, causes the storage system to execute the translated read I/O command to transmit data stored in the storage system directly to the computing system based on the computing system remote direct memory access information.
10 . The IHS of claim 7 , wherein the I/O command is a write I/O command that the SDS engine is configured to translate to provide the translated I/O command provided by a translated write I/O command that, when provided along with the computing system remote direct memory access information to the storage system, causes the storage system to execute the translated write I/O command to retrieve data stored in the computing system directly from the computing system and store that data in the storage system based on the computing system remote direct memory access information.
11 . The IHS of claim 7 , wherein the network is a Transport Control Protocol (TCP) network.
12 . The IHS of claim 7 , wherein the SDS engine is configured to:
provide, to the storage system along with the translated I/O command and the computing system remote direct memory access information, computing system/storage system connection information that is configured for use by the storage system in connecting to the computing system to execute the translated I/O command directly with the computing system.
13 . The IHS of claim 7 , wherein the I/O command includes a Non-Volatile Memory express (NVMe) I/O command including a Scatter Gather List (SGL) having at least one Remote Direct Memory Access (RDMA) buffer reference that provides the computing system remote direct memory access information.
14 . A method for Software-Defined Storage (SDS)-enabled direct Input/Output (I/O) execution in a disaggregated infrastructure, comprising:
receiving, by a Software Defined Storage (SDS) subsystem via a network from a computing system that provides a host, an Input/Output (I/O) command that is directed to one or more logical storage spaces in an SDS storage cluster provided by a storage system and that includes computing system remote direct memory access information;
translating, by the SDS subsystem, the one or more logical storage spaces in the SDS storage cluster to which the I/O command is directed to one or more physical storage spaces in the storage system, and generate a translated I/O command directed to the one or more one or more physical storage spaces in the storage system; and
providing, by the SDS subsystem, the translated I/O command along with the computing system remote direct memory access information via the network to the storage system to cause the storage system to execute the translated I/O command directly with the computing system via the network using the computing system remote direct memory access information.
15 . The method of claim 14 , wherein the translating the I/O command includes performing logical-to-physical mapping operations to translate the one or more logical storage spaces to the one or more physical storage spaces.
16 . The method of claim 14 , wherein the I/O command is a read I/O command that the SDS subsystem translates to provide the translated I/O command provided by a translated read I/O command that, when provided along with the computing system remote direct memory access information to the storage system, causes the storage system to execute the translated read I/O command to transmit data stored in the storage system directly to the computing system based on the computing system remote direct memory access information.
17 . The method of claim 14 , wherein the I/O command is a write I/O command that the SDS subsystem translates to provide the translated I/O command provided by a translated write I/O command that, when provided along with the computing system remote direct memory access information to the storage system, causes the storage system to execute the translated write I/O command to retrieve data stored in the computing system directly from the computing system and store that data in the storage system based on the computing system remote direct memory access information.
18 . The method of claim 14 , wherein the network is a Transport Control Protocol (TCP) network.
19 . The method of claim 14 , further comprising:
provide, by the SDS subsystem to the storage system along with the translated I/O command and the computing system remote direct memory access information, computing system/storage system connection information that is configured for use by the storage system in connecting to the computing system to execute the translated I/O command directly with the computing system.
20 . The method of claim 14 , wherein the I/O command includes a Non-Volatile Memory express (NVMe) I/O command including a Scatter Gather List (SGL) having at least one Remote Direct Memory Access (RDMA) buffer reference that provides the computing system remote direct memory access information.