Multicast DMA Storage Fabric Unified Address Space

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedata transfer completenessVSAvoiddata transfer latency
Core Design Contradiction:
ReliabilityVSLoss of time

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

Inventive Principle:
Principle #2Taking out (Extraction)

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

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvedata transfer functionalityVSAvoidsystem performance
Core Design Contradiction:
Ease of operationVSProductivity

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

Inventive Principle:
Principle #2Taking out (Extraction)

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

Inventive Principle:
Principle #25Self-service

Data Source

PatentEP2845098B1Storage system with multicast DMA and unified address space
Publication Date: 2019.06.26 EMC IP HLDG CO LLC
  • EP2845098B1 patent drawingFigure 1A~1B
  • EP2845098B1 patent drawingFigure 1C~1D
  • EP2845098B1 patent drawingFigure 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.