For NVMe devices, ESXi generates device identifiers based on the information it retrieves from the devices. Generally, the NVMe devices support identifiers in EUI64 or NGUID formats, or use both formats. NGUID is a Namespace Globally Unique Identifier that uses the EUI64 16-byte designator format.

For the devices that support only NGUID format, the host-generated device identifier changes depending on the version of ESXi. The ESXi host of version 6.7 and earlier created the t10.xxx_controller_serial_number identifier. Starting with 6.7 Update 1, the host creates two identifiers: (NGUID) as primary and t10.xxx_controller_serial_number as alternative primary.

ID Formats Supported by Device Device Identifier Generated by Host
EUI64 ID Format NGUID ID Format ESXi 6.7 and earlier ESXi 6.7 Update 1 and later
yes yes t10.xxx_EUI64 t10.xxx_EUI64
yes no t10.xxx_EUI64 t10.xxx_EUI64
no yes t10.xxx_controller_serial_number (NGUID) as primary ID

t10.xxx_controller_serial_number as alternative primary ID

Note: If your host has NGUID-only devices and you upgrade the host to ESXi 7.0.x from an earlier version, the device identifier changes from t10. xxx_controller_serial_number to eui. xxx (NGUID) in the entire ESXi environment. If you use the device identifier in any of your customer scripts, you must reflect this format change.

Verify Mapping Between Primary and Alternative Device Identifiers

Use the esxcli storage core device uidmap list command to verify the device identifiers. The output is similar to the following:
 esxcli storage core device uidmap list
   Primary UID: eui.0000xyz.....
   Alternative Primary UIDs: t10.0000abc....
   Legacy UID: vml.0000000000766d68....
   Alternative Legacy UIDs: vml.000000000080906....