Download as pdf or txt
Download as pdf or txt
You are on page 1of 5

Intel® Virtual RAID on CPU

Management Tools for Firmware


Updates
Purpose
This article provides information about the Intel® Virtual RAID on CPU (Intel® VROC) tools for performing
firmware updates on NVMe devices that are Non-RAID or part of a RAID volume. Intel VROC has tools for
performing Firmware updates in UEFI, Linux, and ESXi for RAID Volumes created on Intel® Xeon® Generation 3
and 4 Family Platforms. These tools will be introduced, and steps provided to perform firmware updates in
the following sections.

Intel VROC is a hybrid RAID solution with Hardware logic inside of the Intel® Xeon® processor and Intel VROC
Software to provide RAID capability to NVMe PCIe Devices attached to VMD-Enabled PCIe lanes.

NVMe
Intel VROC Firmware Update in UEFI
Intel VROC driver version 7.7.0.1273 package adds support for performing a firmware update in the
UEFI environment using the public UEFI NVMe Pass through protocol
(EFI_NVM_EXPRESS_PASS_THRU_PROTOCOL) commands, as defined by the UEFI public
specification.

• Firmware Download/Update - Intel® VROC (VMD NVMe RAID) will pass the
ADMIN_FIRMWARE_IMAGE_DOWNLOAD command to appropriate NVMe device. The
ADMIN_FIRMWARE_IMAGE_DOWNLOAD command is used to download firmware image to the
controller. The new firmware image will not start to run right after
ADMIN_FIRMWARE_IMAGE_DOWNLOAD command. To select which firmware version will be
executed after NVMe device reset ADMIN_FIRMWARE_ACTIVATE command must be used.

• Firmware Commit/Activate - Intel® VROC (VMD NVMe RAID) will pass the
ADMIN_FIRMWARE_ACTIVATE command. The Firmware Activate command is used to verify
that a valid firmware image has been downloaded and to commit that revision to a specific
firmware slot. The host may select the firmware image to activate on the next controller reset as
part of this command.

Other helpful functions part of this UEFI protocol can be found in the Intel VROC Technical Product
Specification for version 7.7 and newer.

The Intel VROC version 7.7 Kit is available on Intel Resource and Design Center, and contains the Intel
VROC Technical Product Specification with details on all supported commands to aid in Firmware
Updates available in the UEFI environment.

Intel® Virtual RAID on CPU (VROC) Production Version (PV) 7.7.0.1273


ID 684473
https://www.intel.com/content/www/us/en/secure/design/confidential/software-kits/kit-
details.html?kitId=684473
Intel VROC Firmware Update in Linux
Intel VROC Linux is open source and part of the latest Linux kernel. Intel VROC uses mdadm and mdRAID with
IMSM metadata for managing NVMe RAID volumes. Firmware updates can be easily done using the open
source nvme-cli tool.

The open source nvme-cli Linux tool can be downloaded from github if not already part of the Linux kernel
you are using:
https://github.com/linux-nvme/nvme-cli/

Jon Michael Hands has a very helpful page for all of the nvme-cli commands and how to use them:
https://nvmexpress.org/open-source-nvme-management-utility-nvme-command-line-interface-nvme-cli/

Locating the NVMe behind VMD will appear as a separate PCIe segment beginning with 10000. i.e.
Send the following command to find the nvme behind VMD:
# ls -la /sys/block

As an example, nvme0n1, nvme1n1, nvmd2n1, nvme3n1 are all NVMe on a VMD controller with segment
10000+

Once the nvme devices are found, use the nvme-cli tool to update the firmware:
*note that VROC only supports RAID of the first namespace

The main firmware update commands are:

# nvme fw-download /dev/nvme0n1 --fw=/path/to/nvme.fw

# nvme fw-commit /dev/nvme0n1 -a 0

After the firmware download, you will need to reset the drive; most devices do not support firmware
activation without a reset.

# nvme reset /dev/nvme0n1

Please use the Linux nvme-cli man pages for further details to send commands to update and commit
firmware.
Intel VROC Firmware Updates in ESXi
The latest VMD CLI tool for managing NVMe RAID includes the Firmware Update command to update firmware
for devices managed by VMD, including RAID volume members.

The vmdrcli tool is available for download on the Intel Resource and Design Center. Always download the latest
vmdrcli tool that comes with the most recent Intel VMD Async Driver.

Currently, this tool can be downloaded along with the Intel VMD ESXi driver version 2.7.0.1157:
https://cdrdv2.intel.com/v1/dl/getContent/644359

Install both the Intel VMD 2.7 driver and the vmdrcli tool to your system. For installation instructions, please
reference the user guide packaged with the driver and tool at the above link.

Commands to obtain general information pertaining to both RAID volumes and non-RAID disks
The mapping between SCSI target RAID controller ID (vmhba#), and the device name (t10.NVMe___xxxx |
t10.VMDRAID___xxxx) can be found by the command:
# esxcfg-mpath -L
Below is the example output from this command:

We will take line 1 as an example:

vmhba3 = VMD Controller ID

After installing the “intel-vmdr-user” vib, the tool will be found in the following directory, and must be run
from this directory:

/opt/intel/bin

Before attempting any commands below, execute this command to switch the working directory to the
correct path where the intel-vmdr-user binary is stored:

# cd /opt/intel/bin

In order to find the “disk numbers” which correspond to the “VMD Controllers” the user can run the “disklist”
command:
# ./intel-vmdr-user disklist
The number after “TargetId” is the “disk number” or “target ID number” (‘0’ in first line of example). The name
after “Controller:” (‘vmhba1’ in the first line of example) is the RAID controller which controls the
corresponding disk numbers.

Example of Firmware Download command to download firmware on the TargetId (“-d”) = 0 and the VMD
Controller is “vmhba1” with the firmware binary file copied to the /tmp/ directory:

# [/opt/intel/bin] ./intel-vmdr-user nvmefwdownload vmhba1 -d 0


/tmp/VDV10170_VB1B015A_WFEM01K0/VDV10152_VB1B015A_WFEM01K0_signed.bin

Firmware download completed successfully

Next step is to send the Firmware Commit Command:


# [/opt/intel/bin] ./intel-vmdr-user nvmefwcommit vmhba1 -d 0 -s 1 -a 0

Firmware commit completed successfully, but it may require system reboot

You might also like