Updating NVMe Device Firmware#

The following instructions describe how to update the firmware on an NVMe device using the NVME-CLI command-line interface. The nvme-cli tool is preinstalled on all DGX B300 systems.

Note

For the Micron 9550 Gen5 SSD, obtain the following firmware from an authorized Micron representative: Micron_9550_F3MU090_release.ubi.enc.

  1. List the devices and check the firmware versions.

    $ sudo nvme list
    
    Node           Generic      SN                     Model                     Namespace  Usage                      Format           FW Rev
    -------------- ------------ ---------------------- ------------------------- ---------- -------------------------- ---------------- --------
    /dev/nvme0n1   /dev/ng0n1   3424AMD8Q0008I010M2K   HFS1T9GEJ8X176N           0x1        77.96  GB /   1.92  TB     512   B +  0 B   51092A30
    /dev/nvme1n1   /dev/ng1n1   0625ASE2Q4237I030H1B   HFS1T9GEJ8X176N           0x1        78.12  GB /   1.92  TB     512   B +  0 B   51092A30
    /dev/nvme2n1   /dev/ng2n1   252510D26F64           MTFDLCE3T8THA-1BK1DABYY   0x1        15.25  GB /   3.84  TB     512   B +  0 B   F3MU011
    /dev/nvme3n1   /dev/ng3n1   242510D0748C           MTFDLCE3T8THA-1BK1DABYY   0x1        15.19  GB /   3.84  TB     512   B +  0 B   F3MU011
    /dev/nvme4n1   /dev/ng4n1   242510D07463           MTFDLCE3T8THA-1BK1DABYY   0x1        15.19  GB /   3.84  TB     512   B +  0 B   F3MU011
    /dev/nvme5n1   /dev/ng5n1   142510D1C35A           MTFDLCE3T8THA-1BK1DABYY   0x1        15.19  GB /   3.84  TB     512   B +  0 B   F3MU011
    /dev/nvme6n1   /dev/ng6n1   242510D07489           MTFDLCE3T8THA-1BK1DABYY   0x1        15.18  GB /   3.84  TB     512   B +  0 B   F3MU011
    /dev/nvme7n1   /dev/ng7n1   142510D1C37E           MTFDLCE3T8THA-1BK1DABYY   0x1        15.18  GB /   3.84  TB     512   B +  0 B   F3MU011
    /dev/nvme8n1   /dev/ng8n1   142510D2E763           MTFDLCE3T8THA-1BK1DABYY   0x1        15.18  GB /   3.84  TB     512   B +  0 B   F3MU011
    /dev/nvme9n1   /dev/ng9n1   142510D1C396           MTFDLCE3T8THA-1BK1DABYY   0x1        15.18  GB /   3.84  TB     512   B +  0 B   F3MU011
    

    From the output, you can find the device names and firmware versions.

  2. Download the firmware for the NVMe device.

    Based on the command output in step 1, determine the appropriate firmware file using the table provided and ensure the correct path is specified when downloading the firmware:

    $ sudo nvme fw-download $DeviceName --fw=<firmware file>
    

    For the Micron 9550 SSD,

    $ sudo nvme fw-download /dev/nvmeX -f Micron_9550_F3MU090_release.ubi.enc
    
  3. Commit and activate the downloaded firmware immediately without reset by setting the action argument to 3 and specifying firmware slot 2 using --slot=2.

    $ sudo nvme fw-commit $DeviceName --slot=2 --action=3
    

    For the Micron 9550 SSD,

    $ sudo nvme fw-commit /dev/nvmeX --slot=2 --action=3
    
  4. Verify that the correct firmware version has been updated.

    $ sudo nvme id-ctrl $DeviceName |grep fr
    

    Example output:

    $ sudo nvme id-ctrl /dev/nvmeX | grep fr
    
    fr        : F3MU090
    frmw      : 0x17
    
    $ sudo nvme list
    
    Node           Generic      SN                     Model                     Namespace  Usage                      Format           FW Rev
    -------------- ------------ ---------------------- ------------------------- ---------- -------------------------- ---------------- --------
    /dev/nvme0n1   /dev/ng0n1   3424AMD8Q0008I010M2K   HFS1T9GEJ8X176N           0x1        77.96  GB /   1.92  TB     512   B +  0 B   51092A30
    /dev/nvme1n1   /dev/ng1n1   0625ASE2Q4237I030H1B   HFS1T9GEJ8X176N           0x1        78.12  GB /   1.92  TB     512   B +  0 B   51092A30
    /dev/nvme2n1   /dev/ng2n1   252510D26F64           MTFDLCE3T8THA-1BK1DABYY   0x1        15.25  GB /   3.84  TB     512   B +  0 B   F3MU090
    /dev/nvme3n1   /dev/ng3n1   242510D0748C           MTFDLCE3T8THA-1BK1DABYY   0x1        15.19  GB /   3.84  TB     512   B +  0 B   F3MU090
    /dev/nvme4n1   /dev/ng4n1   242510D07463           MTFDLCE3T8THA-1BK1DABYY   0x1        15.19  GB /   3.84  TB     512   B +  0 B   F3MU090
    /dev/nvme5n1   /dev/ng5n1   142510D1C35A           MTFDLCE3T8THA-1BK1DABYY   0x1        15.19  GB /   3.84  TB     512   B +  0 B   F3MU090
    /dev/nvme6n1   /dev/ng6n1   242510D07489           MTFDLCE3T8THA-1BK1DABYY   0x1        15.18  GB /   3.84  TB     512   B +  0 B   F3MU090
    /dev/nvme7n1   /dev/ng7n1   142510D1C37E           MTFDLCE3T8THA-1BK1DABYY   0x1        15.18  GB /   3.84  TB     512   B +  0 B   F3MU090
    /dev/nvme8n1   /dev/ng8n1   142510D2E763           MTFDLCE3T8THA-1BK1DABYY   0x1        15.18  GB /   3.84  TB     512   B +  0 B   F3MU090
    /dev/nvme9n1   /dev/ng9n1   142510D1C396           MTFDLCE3T8THA-1BK1DABYY   0x1        15.18  GB /   3.84  TB     512   B +  0 B   F3MU090
    
  5. (Recommended) Perform a power cycle.

    $ ipmitool -H <bmc-ip-address> -U <user> -P <password> -I lanplus power cycle