Multicast DMA Storage Fabric Unified Address Space
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional data transfer methods between client systems and persistent storage systems involve multiple software, firmware, and hardware layers, leading to increased latency due to data copying, which reduces overall system performance.
Innovation Solution
A storage system architecture utilizing Zero-Copy Direct Memory Access (DMA) that allows direct data transfer between client memory and storage modules with a single DMA operation, eliminating unnecessary data copies and enabling efficient data movement through a unified address space accessible by a storage fabric.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional multi-layer data transfer method is used, then data can be transferred between client and storage, but latency increases due to multiple copying operations
Solution Approach 1:
The patent extracts and eliminates the intermediate software, firmware, and hardware layers that cause data copying. By implementing a direct memory access (DMA) path that bypasses these layers, the system removes the unnecessary copying operations while maintaining data transfer functionality, thus reducing latency without compromising data transfer completeness
Solution Approach 2:
The patent introduces a DMA engine as an intermediary that enables direct data transfer between client memory and storage memory without involving the problematic multi-layer processing stack. This intermediary component facilitates efficient data movement while isolating the system from the latency-inducing traditional transfer path
2Ease of operation
If multiple software, firmware, and hardware layers are used, then data transfer functionality is maintained, but system performance decreases due to extra processing
Solution Approach 1:
The patent extracts the essential data transfer functionality from the complex multi-layer stack and implements it through a streamlined DMA-based path. This extraction maintains the core functionality of transferring data between client and storage while eliminating the performance-degrading processing layers
Solution Approach 2:
The DMA engine is programmed to autonomously perform data transfer operations without requiring intervention from the multi-layer software and firmware stack. This self-service capability allows the system to maintain data transfer functionality while avoiding the performance penalty of extensive processing at each layer
Data Source
Figure 1A~1B
Figure 1C~1D
Figure 1E
AI summary
A system and method for clients, a control module, and storage modules to participate in a unified address space in order to and read and write data efficiently using direct-memory access. The method for reading data includes determining a first location in a first memory to write a first copy of the data, a second location in a second memory to write a second copy of the data, where the first memory is located in a first storage module including a first persistent storage and the second memory is located in a second storage module including a second persistent storage. The method further includes programming a direct memory access engine to read the data from client memory and issue a first write request to a multicast address, where the first location, the second location, and a third location are associated with the multicast address.