DDR Storage Adapter Virtual Address Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern storage technologies, such as SSDs and HDDs, face latency issues due to the overhead of legacy storage software stacks, making them incompatible with Double Data Rate (DDR) specifications, which limits their performance as persistent memory.

Innovation Solution

A method is introduced to access persistent memory over a DDR-compliant interface by allocating virtual address ranges, generating page faults, and mapping page table entries to physical pages in a memory buffer, allowing data transfer between persistent memory and the buffer without relying on legacy storage software stacks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If modern storage technologies (SSDs, HDDs) are used with legacy storage software stacks, then storage capacity and persistence are improved, but access latency increases significantly making them incompatible with DDR specifications

Engineering Contradiction:
Improvepersistent memory reliabilityVSAvoidaccess latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent introduces a memory buffer as an intermediary component between the persistent memory device and the host system. This buffer acts as a mediator that decouples the slow persistent memory from the fast DDR interface, allowing the host to access data at DDR speeds while the persistent memory operates at its native slower speed. The buffer absorbs the latency difference, enabling persistent memory to appear as fast memory to the host system.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the memory access path into distinct components: host buffer, memory buffer, and persistent memory. By dividing the access path, the system can optimize each segment independently - the host buffer handles fast DDR transactions, the memory buffer manages data transfer and caching, and the persistent memory provides reliable storage. This segmentation allows the system to achieve both high speed and reliability.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If legacy storage software stacks are used with modern storage technologies, then storage device functionality is maintained, but performance is penalized due to software overhead

Engineering Contradiction:
Improvestorage device compatibilityVSAvoidI/O operation performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent extracts the software stack overhead by implementing a hardware-based memory interface that operates independently of the storage software stack. The memory buffer and controller handle data transfer and management at the hardware level, bypassing the need for software intervention. This extraction removes the performance penalty while maintaining compatibility through standard memory interfaces.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent creates a universal interface that allows persistent memory devices to function through standard memory interfaces rather than requiring proprietary storage protocols. The memory buffer implements standard DDR-compatible interfaces, enabling the persistent memory to be accessed by any host system using conventional memory access methods, thus achieving both compatibility and high performance.

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

3Speed

If persistent memory devices are directly connected to DDR interface, then access speed is improved, but interface compatibility is lost due to latency mismatches

Engineering Contradiction:
Improvememory access speedVSAvoidDDR interface compatibility
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The memory buffer serves as an intermediary that translates between the slow persistent memory interface and the fast DDR interface. It accepts data from persistent memory at its native speed and serves data to the host at full DDR speeds, effectively hiding the speed mismatch. This allows the system to achieve both high speed compatibility and persistent memory performance.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Productivity

If virtual address ranges are mapped to physical pages in memory buffer, then data access efficiency is improved, but memory buffer management complexity increases

Engineering Contradiction:
Improvedata access efficiencyVSAvoidmemory buffer management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements self-service mechanisms where the memory buffer automatically manages its own caching and data transfer operations. The buffer controller monitors buffer status, initiates data transfers between host buffer and persistent memory, and manages page faults without requiring complex external control logic. This automation reduces the effective complexity while maintaining high access efficiency.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10430346B2DDR storage adapter
Publication Date: 2019.10.01 KIOXIA CORP
  • US10430346B2 patent drawing
  • US10430346B2 patent drawing
  • US10430346B2 patent drawing

AI summary

A method of accessing a persistent memory over a memory interface is disclosed. In one embodiment, the method includes allocating a virtual address range comprising virtual memory pages to be associated with physical pages of a memory buffer and marking each page table entry associated with the virtual address range as not having a corresponding one of the physical pages of the memory buffer. The method further includes generating a page fault when one or more of the virtual memory pages within the virtual address range is accessed and mapping page table entries of the virtual memory pages to the physical pages of the memory buffer. The method further includes transferring data between a physical page of the persistent memory and one of the physical pages of the memory buffer mapped to a corresponding one of the virtual memory pages.