Host Memory Buffer (HMB) in NVMe SSDs: How It Works

Last updated:

Host Memory Buffer (HMB) is an NVMe feature that lets a supported SSD controller use a portion of the computer’s RAM assigned by host software. It is useful in some DRAMless SSD designs. Its presence alone does not establish how fast the complete drive will be.

NVMe solid-state drive with controller and flash chips

What memory an SSD uses

An SSD’s NAND flash holds persistent data. Its controller manages operations such as translating logical addresses to locations in that flash. Controller designs can use dedicated onboard DRAM, internal memory, host memory and other techniques for their working data.

There is no universal requirement for exactly 1 GB of DRAM per 1 TB of SSD capacity. The design and amount of working memory vary by model. A DRAMless SSD also cannot be judged solely by comparing it with a different drive that has onboard DRAM.

How Host Memory Buffer works

With HMB, host software assigns memory resources for the NVMe controller’s exclusive use and tells it where those resources are. The controller’s use of that memory is vendor-specific. An implementation may use it for mapping information or other working data, rather than allocating a universal cache for every file or write.

The NVMe base specification, section 8.9, requires the controller to function correctly even if host software supplies no host-memory resources. The amount provided can be limited by the host. It is therefore wrong to assume every HMB SSD receives an identical buffer size on every system.

System RAM is volatile. HMB does not add persistent storage capacity or remove the need for the SSD’s normal data-integrity mechanisms and file backups.

HMB, onboard DRAM and SLC cache

Term Where it resides What to understand
HMB RAM allocated by the host system. Supported NVMe controllers use it according to their implementation.
Onboard DRAM A memory chip on the SSD. Provides local working memory. Its role and size depend on the design.
SLC-mode cache A portion of the SSD’s NAND operated in a one-bit mode. Can improve short-write behavior. Its size and behavior differ from HMB.
HBM A different memory technology used in products such as accelerators. The similar acronym does not identify NVMe Host Memory Buffer.

HMB can help a DRAMless design perform work that another design handles with local DRAM. It is not restricted to complementing a DRAM chip already on the drive. As a concrete product example, Samsung described its 980 consumer SSD as DRAMless and using HMB, while also describing its separate TurboWrite buffering feature.

What determines performance?

The result depends on the controller, firmware, NAND, capacity, host support and the kind of I/O. HMB can help particular access patterns, but it does not establish a universal ranking in which every onboard-DRAM SSD beats every HMB drive.

For an actual comparison, use the same workload, capacity, connection and test conditions. Short bursts, sustained transfers and random access can expose different limits. An unexplained graph from one old drive cannot establish a 24 GB workload threshold for all HMB implementations.

For a new SSD, the MBR or GPT partition choice is another separate issue: it affects disk layout and boot compatibility, rather than enabling HMB or accelerating NAND.

What to check on your own system

  • Confirm HMB support in the exact SSD model’s documentation.
  • Check the supported OS, storage driver and connection for that drive.
  • Do not assume a USB bridge, enclosure or console exposes every feature available in a native PC NVMe connection.
  • Use manufacturer-supported firmware and diagnostics, and compare results for your actual workload.

HMB is a design feature, not a reason to change undocumented registry settings. If storage activity accompanies whole-PC hangs, use the Windows freezing checklist to distinguish a drive problem from drivers, memory pressure or other causes.