If a virtual machine has multiple hard disks, you can add up to four virtual NVMe controllers to which to assign the disks. Using an NVMe controller significantly reduces the software overhead for processing guest OS I/O, as compared to AHCI SATA or SCSI controllers.

NVMe controllers perform best with virtual disks on an all-flash disk array, local NVMe SSD, and PMem storage.


  • Verify that the virtual machine has a guest operating system that supports NVMe.
  • Verify that the virtual machine compatibility is ESXi 6.5 or later.
  • Verify that you are familiar with storage controller behaviour and limitations. See SCSI and SATA Storage Controller Conditions, Limitations, and Compatibility.
  • Verify that you have the Virtual machine.Configuration.Add new disk privilege on the virtual machine.


  1. Right-click a virtual machine in the inventory and select Edit Settings.
  2. Click the Virtual Hardware tab, and select NVMe Controller from the New device drop-down menu.
  3. Click Add.
    The controller appears in the Virtual Hardware devices list.
  4. Click OK.

What to do next

You can add a hard disk to the virtual machine and assign it to the NVMe controller.