Dynamic PCIe Host Memory Buffer Allocation for Throughput Bottlenecks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In existing PCIe-based devices, Host Memory Buffer (HMB) allocation is static and not dynamically managed, leading to inefficiencies and delays due to unsynchronized memory deallocation between the host and device, which affects performance and event-based throughput.

Innovation Solution

A method for dynamic HMB management involving estimating memory requirements, transmitting requests to the host device for memory allocation, and dynamically initializing and deallocating HMB based on current needs, using a controller to optimize memory usage for memory-intensive operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If static HMB allocation is used during boot time, then memory is allocated to PCIe based device, but memory cannot be dynamically adjusted leading to delays and suboptimal usage

Engineering Contradiction:
ImprovethroughputVSAvoidmemory allocation delay
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements dynamic HMB allocation where the PCIe based device can request additional memory slots from the host device during runtime based on current memory requirements. The controller estimates potential memory requirements and transmits requests to allocate or deallocate HMB slots dynamically, allowing the system to adapt memory allocation to changing operational needs rather than relying on static boot-time allocation.

Inventive Principle:
Principle #15Dynamics

2Ease of operation

If host device deallocates HMB based on host requirements, then host memory is freed for host operations, but PCIe based device must terminate operations leading to delays

Engineering Contradiction:
Improvememory management flexibilityVSAvoidoperation completion speed
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent establishes a feedback mechanism where the PCIe based device actively monitors its own memory usage and communicates with the host device. The controller estimates potential memory requirements and transmits requests to allocate or deallocate HMB slots based on actual device needs. This allows the device to request memory deallocation when operations are complete, preventing premature termination and enabling coordinated memory management between host and device.

Inventive Principle:
Principle #23Feedback

3Quantity of substance

If PCIe based device lacks communication means for memory deallocation, then device cannot request memory release, but memory remains allocated causing resource wastage

Engineering Contradiction:
Improvememory resource utilizationVSAvoidmemory management capability
Core Design Contradiction:
Quantity of substanceVSAdaptability or versatility

Solution Approach 1:

The patent enables the PCIe based device to self-manage its memory allocation by implementing a controller that can estimate its own memory requirements and autonomously transmit requests to the host device for allocating or deallocating HMB slots. This self-service capability allows the device to manage its own memory resources without requiring constant host intervention, improving both resource utilization and management adaptability.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS12619379B2Method and system for performing dynamic host memory buffer (HMB) management in PCIe based devices
Publication Date: 2026.05.05 SAMSUNG ELECTRONICS CO LTD
  • US12619379B2 patent drawing
  • US12619379B2 patent drawing
  • US12619379B2 patent drawing

AI summary

There is provided a method and a controller for performing dynamic Host Memory Buffer (HMB) management in Peripheral Component Interconnect express (PCIe) based devices. The controller estimates a potential memory requirement for one or more memory intensive operations to be performed by the PCIe based device, transmits a first request to a host device associated with the PCIe based device, the first request indicating the potential memory requirement from Host Memory Buffer (HMB) of the host device, receives a plurality of memory allocation slots from the host device based on the first request, transmits a second request comprising HMB information related to current memory requirement based on the plurality of memory allocation slots to the host device and initializes memory of the HMB allocated to the controller based on the second request, for performing the at least one of the one or more memory intensive operations.