Flash NVMe SSD Firmware

Update the firmware of an SSD

  • A Cray XC series system with one or more SSD cards installed
  • Ability to log in as root
  • Access to an image flash file appropriate for the specific type of SSD (location provided by Cray)

This procedure, typically only done at Cray's recommendation, ensures that the firmware of any SSD cards is up-to-date with an image flash file. The xtiossdflash command compares the current flash version to the image flash file and flashes the device (up or down) only if the two are different. For further information, see the xtiossdflash(8) man page.

boot# module load ssd-flash
boot# man xtiossdflash
  1. Log on to the boot node as root, then load the pdsh and ssd-flash modules.
    smw# ssh boot
    boot# module load pdsh ssd-flash
  2. Copy the firmware image to all target nodes to be flashed.
    boot# scp ssd_fw_image_file target:/location
    Where:
    ssd_fw_image_file
    Specifies the SSD flash image
    target
    Specifies a single node with SSDs
    location
    Specifies the location on the node to place the image
    For example:
    boot# scp /P3608_FW/FW1B0_BL133 c0-1c0s9n2:/tmp
  3. Flash the firmware.
    boot# xtiossdflash -f -i /location/ssd_fw_image_file target
    Where:
    /location/ssd_fw_image_file
    Specifies the path (on the target node) to the SSD flash image
    target
    Specifies a single node with SSDs, a comma-separated list of nodes with SSDs, or the keyword all_service
    For example:
    boot# xtiossdflash -f -i /tmp/FW1B0_BL133 c0-1c0s9n2

    If the firmware updates successfully, the message Successfully flashed is displayed.

    If the firmware does not update successfully, one of the following messages is displayed.
    • No devices available - No /dev/nvmeX devices were found.
    • The file /root/8DV101B0_8B1B0133_signed.bin does not exist. Skipping. - The firmware image flash file could not be found.
    • /dev/nvmeX already flashed to firmware version <version>. Skipping. - The device is already flashed to the firmware selected.
    • Failure to download firmware to /dev/nvmeX - Firmware could not be loaded to an SSD.
    • Invalid firmware slot - The specified slot on the device is not valid.
    • Invalid firmware image - Specified firmware is not valid for the SSD type.

    If applicable, rectify the problem and try again.

  4. Load the new firmware:
    • For Intel SSDs:
      Reboot the target node(s) to load the new firmware.
      boot# xtbootsys --reboot target
      For example:
      boot# xtbootsys --reboot c0-1c0s9n2
    • For Samsung SSDs:
      1. Power cycle the blade on which the target node is located.
      2. Reboot the node.
        boot# xtbootsys --reboot target
        For example:
        boot# xtbootsys --reboot c0-1c0s10n1
  5. Verify the flash version.
    The firmware version displayed is for example purposes only and should not be expected.
    boot# /opt/cray/ssd-flash/bin/xtiossdflash -v c0-1c0s9n2
    c0-1c0s9n2: <nvme_flash>: /dev/nvme3: Model = INTEL SSDPECME040T4Y , FW Version = 8DV101B0
    c0-1c0s9n2: <nvme_flash>: /dev/nvme2: Model = INTEL SSDPECME040T4Y , FW Version = 8DV101B0
    c0-1c0s9n2: <nvme_flash>: /dev/nvme1: Model = INTEL SSDPECME040T4Y , FW Version = 8DV101B0
    c0-1c0s9n2: <nvme_flash>: /dev/nvme0: Model = INTEL SSDPECME040T4Y , FW Version = 8DV101B0