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

About this task

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.