Memory Controller Segmentation for Mixed Volatile Non-Volatile DDR Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The integration of non-volatile and volatile memory devices on the same memory bus is challenging due to their disparate access times, which do not align with the deterministic timing specifications of the DDR memory interface, limiting the ability to mix memories with different latency properties and hindering performance enhancements.

Innovation Solution

A device comprising a read unit, a store unit, and a return unit that fetches data in response to a first read request and returns it in response to a subsequent read request, allowing non-volatile memory devices with longer latency to share a DDR interface with standard DIMMs, enabling direct access to higher capacities without additional memory interfaces.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If non-volatile memory devices are integrated on the same memory bus with volatile memory devices, then memory capacity and non-volatility are improved, but access time performance deteriorates due to slower non-volatile memory access speeds

Engineering Contradiction:
Improvememory capacityVSAvoidaccess time
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

The memory system is segmented into volatile memory devices for fast access and non-volatile memory devices for high capacity storage. The memory controller divides memory access operations between these two types of devices based on their respective strengths, allowing the system to achieve both high capacity and fast access performance simultaneously.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A memory controller acts as an intermediary between the host system and the mixed memory devices. It manages the disparate timing properties of volatile and non-volatile memory devices, translating host memory access requests into appropriate commands for each device type and buffering data to mask the slower access times of non-volatile memory.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If non-volatile and volatile memory devices share the same DDR memory interface, then device complexity is reduced, but timing specification compliance becomes difficult due to deterministic timing requirements

Engineering Contradiction:
Improvememory interface complexityVSAvoidtiming specification compliance
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The memory controller serves as an intermediary that absorbs the timing differences between volatile and non-volatile memory devices. It implements timing recovery mechanisms and uses buffers to ensure that data is delivered to the host system within the deterministic timing requirements of the DDR interface, regardless of the slower access times of non-volatile memory.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary actions by pre-fetching data from non-volatile memory into buffers before it is needed by the host system. This allows the memory controller to mask the slower access times and deliver data within the required timing specifications, ensuring compliance with deterministic timing requirements.

Inventive Principle:
Principle #10Preliminary action

3Ease of operation

If standard DDR memory interface is used for both volatile and non-volatile memory, then ease of operation is improved, but performance enhancement is limited by the slower access times of non-volatile memory

Engineering Contradiction:
Improvememory interface usabilityVSAvoidmemory performance
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The memory system segments operations between volatile and non-volatile memory based on performance requirements. Frequently accessed data is stored in volatile memory for fast access, while less frequently accessed data resides in non-volatile memory. The memory controller intelligently manages this segmentation to maintain high overall system performance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically changes operational parameters such as cache line sizes, prefetch distances, and buffer depths based on workload characteristics. This allows the memory controller to optimize performance for different access patterns while maintaining compatibility with the standard DDR interface.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9972379B2First data in response to second read request
Publication Date: 2018.05.15 HEWLETT PACKARD ENTERPRISE DEV LP
  • US9972379B2 patent drawing
  • US9972379B2 patent drawing
  • US9972379B2 patent drawing

AI summary

First and second read requests are received. First data is fetched in response to the first read request. The fetched first data is then stored. The fetched first data corresponds to an address of the first read request. The fetched first data is returned in response to the second read request.