NVDIMM Address Translation via Device Driver Intermediary

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Non-Volatile Dual In-Line Memory Modules (NVDIMMs) face challenges in integrating with host processors and memory controllers, as they must conform to JEDEC DIMM specifications while providing fast memory access, which is complicated by differences in memory addressing and the potential for Row Hammer errors.

Innovation Solution

A device driver intercepts memory requests, performs pre-mapping to ensure correct address translation and prevents Row Hammer issues by using address aliasing and partitioning exposed memory into non-contiguous logical segments, allowing NVDIMMs to operate as standard DRAM modules.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If NVDIMM operates as standard DRAM module to achieve fast memory access, then speed is improved, but Row Hammer errors occur due to memory addressing differences

Engineering Contradiction:
Improvememory access speedVSAvoidRow Hammer error prevention
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

A device driver acts as an intermediary between the host processor and NVDIMM, intercepting memory requests and performing address translation. The device driver maps host processor addresses to NVDIMM addresses, preventing direct addressing that would cause Row Hammer errors while maintaining fast memory channel speeds.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The NVDIMM memory space is divided into multiple banks, and the device driver distributes memory requests across different banks using address aliasing techniques. This segmentation prevents concentrated access patterns that trigger Row Hammer errors while preserving overall memory access performance.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If NVDIMM conforms to JEDEC DIMM specifications to ensure compatibility, then adaptability is improved, but addressing complexity increases due to different memory addressing principles

Engineering Contradiction:
ImproveJEDEC compatibilityVSAvoidaddressing complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The device driver serves as a translation layer that converts JEDEC-compliant address formats to NVDIMM-specific address formats. This intermediary approach maintains compatibility with standard memory controllers while accommodating the different addressing principles of NVDIMM technology.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system dynamically adjusts addressing parameters based on the memory type. The device driver modifies address translation parameters, bank selection criteria, and row/column mapping based on whether the memory is standard DRAM or NVDIMM, thereby managing complexity through adaptive parameter configuration.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If address aliasing is used to prevent Row Hammer issues, then reliability is improved, but address translation overhead increases

Engineering Contradiction:
ImproveRow Hammer preventionVSAvoidaddress translation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The device driver performs address aliasing and bank distribution in advance, before memory access occurs. By pre-processing address translation and distributing requests across banks proactively, the system prevents Row Hammer errors without adding significant overhead during actual memory operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The address translation and bank selection operations are merged into a single device driver routine. By combining multiple address manipulation steps into one unified process, the system reduces the cumulative overhead of address translation while maintaining Row Hammer prevention capabilities.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10503657B2DIMM SSD Addressing performance techniques
Publication Date: 2019.12.10 SAMSUNG ELECTRONICS CO LTD
  • US10503657B2 patent drawing
  • US10503657B2 patent drawing
  • US10503657B2 patent drawing

AI summary

A Non-Volatile Dual In-Line Memory Module is disclosed (NVDIMM). The NVDIMM may be installed in a Dual In-Line Memory Module (DIMM) docket. The NVDIMM may include a non-volatile memory. A device driver may intercept a request for a memory address destined for a host memory controller, replace the memory address with a pre-mapped memory address or an alias of the pre-mapped memory address, and send the pre-mapped memory address to the host memory controller, so that the host memory controller generates a target memory address to NVDIMM.