RDMA Memory Area Identifier Encoding for Storage Class Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current RDMA specifications are limited to accessing data from dynamic random access memory (DRAM) buffers, which are constrained by capacity, cost, and durability, while storage class memories (SCM) offer faster, cheaper, and denser storage solutions, necessitating an extension of RDMA operations to support SCM access.

Innovation Solution

The method involves encoding RDMA requests into memory area identifiers, such as Steering Tags, to enable RDMA operations for storage class memories, allowing for high-bandwidth, low-latency data transfers by integrating additional storage semantics into the RDMA operation structure, thereby supporting synchronous and asynchronous writes and reads across different memory types.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If RDMA operations are extended to storage class memories, then storage capacity and durability are improved, but device complexity increases

Engineering Contradiction:
Improvestorage capacityVSAvoiddevice complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent applies universality by enabling the RDMA operation structure to handle multiple memory types (DRAM and SCM) through a unified interface. The encoding mechanism allows the same RDMA infrastructure to support both volatile and non-volatile memory operations, making the system multi-functional without requiring separate dedicated pathways for each memory type.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent uses parameter changes by modifying the memory area identifier encoding to include semantic type information. By changing the parameters of the identifier structure to incorporate additional metadata about the target memory type, the system can route and handle RDMA operations appropriately for different storage classes without fundamental architectural changes.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If RDMA requests are encoded with additional storage semantics, then adaptability to different memory types is improved, but processing overhead increases

Engineering Contradiction:
ImproveadaptabilityVSAvoidprocessing overhead
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-defining and pre-encoding the semantic types within the memory area identifier structure. The encoding of storage semantics is performed in advance as part of the RDMA request preparation, allowing the receiving end to immediately interpret and act on the request without requiring additional decoding or interpretation steps during execution.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If memory area identifiers are used to identify different memory areas, then memory access precision is improved, but information loss occurs due to encoding limitations

Engineering Contradiction:
Improvememory access precisionVSAvoidinformation loss
Core Design Contradiction:
Measurement precisionVSLoss of information

Solution Approach 1:

The patent applies the nested doll principle by embedding multiple layers of information within the memory area identifier. The identifier structure is designed to contain nested elements including the base memory area identification and additional encoded semantic information about the target memory type, allowing rich information representation within a compact identifier format.

Inventive Principle:
Principle #7Nested doll (Nesting)

Data Source

PatentUS10019409B2Extending remote direct memory access operations for storage class memory access
Publication Date: 2018.07.10 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10019409B2 patent drawing
  • US10019409B2 patent drawing
  • US10019409B2 patent drawing

AI summary

Embodiments of the present invention provide systems and methods for extending the remote direct memory access (RDMA) operations for accessing data from storage class memory (SCM). The method includes receiving an RDMA request in a first semantic, to a memory in a second semantic. The RDMA request in the first semantic is encoded, by encoding a type of the RDMA request into a memory area identifier, which includes an 8-bit key used to define additional storage semantics for the RDMA operation.