Hardware NVMe Controller for Fast Non-Volatile Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current firmware-based controllers for fast non-volatile memories like PRAM and MRAM suffer from performance bottlenecks due to high latency, which cannot be hidden behind CPU cycles, as they dominate the total service time, hindering the full potential of these advanced memory technologies.

Innovation Solution

A hardware-based non-volatile memory controlling device with a first and second doorbell region, a fetch managing module, a data transferring module, and a completion handling module, which automates I/O operations by exposing doorbell regions to the host interface, using advanced interfaces like PCIe and AXI buses, and implementing DMA engines to manage data transfers and interrupts, thereby reducing firmware execution time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If firmware-based controllers are used for fast non-volatile memories, then the memory interface and control logic are implemented in software, but the firmware execution time dominates the total service time and cannot be hidden behind CPU cycles, creating a performance bottleneck

Engineering Contradiction:
Improveflexibility of control logicVSAvoidfirmware execution time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent replaces the firmware-based control system with a hardware-based controller that implements NVMe protocol functions through dedicated hardware circuits. The controller includes a PCIe interface for host communication, an internal memory bus for data transfer, and hardware modules for command processing, data transfer, and completion handling, eliminating the need for firmware execution and thereby removing the performance bottleneck while maintaining protocol compliance and control flexibility

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent introduces an intermediate hardware layer between the host and the non-volatile memory module. This hardware controller acts as a mediator that translates host commands into memory operations, managing data transfer and completion handling through dedicated hardware circuits rather than software firmware, thus reducing execution time while maintaining system compatibility

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If firmware is used to manage I/O operations, then the control logic can be updated and configured, but the firmware execution cannot be interleaved with I/O burst time of fast non-volatile memories like PRAM or MRAM

Engineering Contradiction:
Improveconfigurability of controlVSAvoidI/O operation throughput
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent replaces the firmware-based I/O management system with a hardware-based controller that processes I/O operations through dedicated hardware circuits. The controller includes a PCIe interface for host communication, an internal memory bus for data transfer, and hardware modules for command processing, data transfer, and completion handling, enabling parallel processing of I/O operations without firmware execution delays

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent segments the I/O operation management into distinct hardware modules: a PCIe interface module for host communication, a command processing module for fetching and parsing commands, a data transfer module for moving data between host memory and non-volatile memory, and a completion handling module for managing operation completions. This segmentation enables concurrent execution of multiple I/O operations, significantly improving throughput for fast non-volatile memories

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11775452B2Non-volatile memory controller device and non-volatile memory device
Publication Date: 2023.10.03 MEMRAY CORP
  • US11775452B2 patent drawing
  • US11775452B2 patent drawing
  • US11775452B2 patent drawing

AI summary

In a non-volatile memory controlling device, a first doorbell region is exposed to a configuration space of a host interface and updated when the host issues an input/output (I/O) request command to the host memory. A fetch managing module fetches the command from the host memory in response to an event signal generated when the first doorbell region is updated. A data transferring module checks a location of the host memory based on request information included in the command, and performs a transfer of target data for the I/O request between the host memory and the non-volatile memory module. A completion handling module writes a completion request in the host memory and handles an interrupt when the data transferring module completes to process the I/O request. A second doorbell region is exposed to the configuration space and updated when the I/O service is terminated by the host.