SDS Local Data Path Optimization for Lower TCP/IP Copying Overhead
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional Software Defined Storage (SDS) systems using Transmission Control Protocol/Internet Protocol (TCP/IP) data paths incur significant memory and networking bandwidth overhead due to multiple data copies between Input/Output (IO) buffers and networking buffers, which is inefficient in disaggregated infrastructures.
Innovation Solution
The system optimizes data paths by establishing a direct TCP/IP connection between an SDS client and server subsystems that share a data storage memory system, allowing direct data access without intermediate buffering, thereby reducing bandwidth usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If conventional TCP/IP data paths are used in SDS systems, then maximum flexibility and minimal hardware dependency are achieved, but significant memory and networking bandwidth overhead occurs due to multiple data copies between IO buffers and networking buffers
Solution Approach 1:
The patent introduces a shared memory system as an intermediary between the SDS client and server, allowing direct data access without traditional TCP/IP buffering. This mediator enables efficient data sharing while reducing the need for multiple data copies between IO and networking buffers, thus lowering bandwidth overhead while maintaining system flexibility
2Adaptability or versatility
If multiple hops are used between SDS client and server through TCP/IP connections, then system flexibility is maintained, but data transfer efficiency decreases due to amplified memory and networking bandwidth usage
Solution Approach 1:
The patent extracts the data copying operation from the traditional TCP/IP multi-hop path and replaces it with direct shared memory access. By removing the intermediate buffering steps that cause amplified bandwidth usage, the system maintains flexibility through the SDS architecture while significantly improving data transfer efficiency through direct memory access
3Loss of energy
If direct shared memory access is implemented between SDS client and server, then bandwidth overhead is reduced, but hardware dependency increases
Solution Approach 1:
The shared memory system is designed to serve multiple functions: it acts as both a high-speed data sharing mechanism and a flexible storage layer that can be accessed through standard SDS interfaces. This multi-functionality allows the system to achieve low bandwidth overhead through direct memory access while maintaining adaptability through the universal SDS interface layer
Data Source
AI summary
A Software Defined Storage (SDS) system includes a memory system, an SDS client subsystem that is coupled to the memory system, and an SDS server subsystem that is coupled to the memory system. The SDS server subsystem establishes a first Transmission Control Protocol/Internet Protocol (TCP/IP) connection with the SDS client subsystem, and determines that the SDS client subsystem and the SDS server subsystem share the memory system. The SDS server subsystem then receives a first data read request via the first TCP/IP connection from the SDS client subsystem, determines the first data read request is associated with data stored in the memory system, and provides a first data read response via the first TCP/IP connection, that is configured to cause the SDS client subsystem to read the data from the memory system.


