Intel® Virtual RAID on CPU (Intel® VROC) VMD NVMe* RAID Pre-OS RAID Management Environment
Environment
Intel® VROC for Windows*
With the introduction of the Intel® Volume Management Device (Intel® VMD) technology, and with that, Intel® VROC (VMD NVMe* RAID), one of the key features is the ability to install an operating system to and boot from a RAID volume. A key component in this feature is the Intel® VROC (VMD NVMe* RAID) UEFI drivers.
The Intel® VROC (VMD NVMe* RAID) UEFI drivers are a set of binary images that are compiled into the platform BIOS and provide a method by which the BIOS environment will be able to do the following:
- Initialize and enumerate NVMe* devices managed by the Intel® VMD domains (when enabled) and report that information to the BIOS.
- Scan for the Intel® VROC upgrade key and properly configure the Intel® VROC (VMD NVMe* RAID) software to properly manage the SKU the system is configured for.
- Provide an Intel® VROC (VMD NVMe* RAID) management user interface to the BIOS to manage RAID volumes with NVMe* devices connected to the Intel® VMD controller.
- Interface to and boot from NVMe* devices managed by the Intel® VMD controller.
- Interface to and boot from Intel® VROC (VMD NVMe* RAID) volumes.
For information on how to incorporate the Intel® VROC (VMD NVMe* RAID) UEFI images into the platform BIOS, refer to Intel® Virtual RAID on CPU (Intel® VROC) Pre-OS RAID Management Environment.
Intel® VROC (VMD NVMe* RAID) Features
The Intel® VROC (VMD NVMe* RAID) UEFI drivers are one of the key features of the Intel® VROC (VMD NVMe* RAID) sub-product. To learn about other key features of this Intel® VROC sub-product, refer to Key Features of Intel® Virtual RAID on CPU (Intel® VROC) VMD NVMe* RAID for Windows*.
Intel® VROC (VMD NVMe* RAID) UEFI Human Interface Infrastructure (HII)
The Intel® VROC (VMD NVMe* RAID) product supports RAID management via the Intel® VROC UEFI HII. The Intel® VROC HII is part of the UEFI protocol and provides a way for users to manage RAID volumes behind the Intel® VMD controller in the BIOS environment.
The Intel® VROC (VMD NVMe* RAID) HII will report the following for each device discovered:
- The slot number to which the NVMe* drive is connected.
- Bus/Device/Function information to which the NVMe* drive is connected.
- The CPU of the Intel® VMD controller that the NVMe* drive is connected.
- The Intel® VMD controller number to which the NVMe* drive is connected.
- The Root Port Offset to which the NVMe* drive is connected.
- The NVMe* drive vendor identification.
- The NVMe* drive serial number.
- The NVMe* drive size.
Intel® VROC (VMD NVMe* RAID) UEFI Maximum Number of Drives
The Intel® VROC (VMD NVMe* RAID) UEFI driver supports a maximum number of 96 NVMe* drives across all Intel® VMD controllers within the supported platform.
Using the Intel® VROC (VMD NVMe* RAID) HII to Create a RAID Volume
The Intel® VROC (VMD NVMe* RAID) HII interface allows users to create RAID volumes. Refer to the instructions on how to create a RAID volume from the Intel® VROC HII interface in the Intel® Virtual RAID on CPU (Intel® VROC) Pre-Operating System (Pre-OS) Getting Started Guide.
NVM Express Pass-Thru Protocol Support
The Intel® VROC (VMD NVMe* RAID) UEFI driver will provide support for the following public UEFI NVMe* Pass-Thru protocol (EFI_NVM_EXPRESS_PASS_THRU_PROTOCOL) commands, as defined by the UEFI public specification:
- Identify: The Identify command returns a data buffer that describes the NVMe* controller. To read identification parameters from NVMe* devices, applications will send the Identify command. Intel® VROC (VMD NVMe* RAID) will pass the ADMIN_IDENTIFY command to the appropriate NVMe* device.
- Set Features: The Set Features command specifies the attributes of the feature indicated. Intel® VROC (VMD NVMe* RAID) will pass the ADMIN_SET_FEATURES command. Intel® VROC (VMD NVMe* RAID) passes this command to the NVMe* device in Pass-Thru mode and RAID mode.
- Get Features: The Get Features command retrieves the attributes of the feature specified. Intel® VROC (VMD NVMe* RAID) will pass the ADMIN_GET_FEATURES command. Intel® VROC (VMD NVMe* RAID) passes this command to the NVMe* device in Pass-Thru mode and RAID mode.
- Get Log Page: To read values of SMART attributes and general health information from the NVMe* device, the application sends the ADMIN_GET_LOG_PAGE command. Intel® VROC (VMD NVMe* RAID) will pass the ADMIN_GET_LOG_PAGE command to the appropriate NVMe* device.
- Self-Monitoring, Analysis and Reporting Technology (S.M.A.R.T.) is an open standard used by hard-drives and hosts to monitor drive health and report potential problems. The SMART and health information are collected over the life of the NVMe* controller and is retained across power cycles. By default, SMART monitoring is always enabled on NVMe* devices.
- Format NVM: The Format NVM command is used to low level format the NVM media. This is used when the host wants to change the Logical Block Addressing (LBA) data size and/or metadata size. Intel® VROC (VMD NVMe* RAID) passes this command to the NVMe* device in Pass-Thru mode and RAID mode.
- Firmware Commit/Activate: Intel® VROC (VMD NVMe* RAID) will pass the ADMIN_FIRMWARE_ACTIVATE command to the appropriate NVMe* device. The ADMIN_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.
- Firmware Download/Update: Intel® VROC (VMD NVMe* RAID) will pass the ADMIN_FIRMWARE_IMAGE_DOWNLOAD command to the appropriate NVMe* device. The ADMIN_FIRMWARE_IMAGE_DOWNLOAD command is used to download the firmware image to the controller. The new firmware image will not start to run right after the ADMIN_FIRMWARE_IMAGE_DOWNLOAD command. To select which firmware version will be executed after the NVMe* device reset, the ADMIN_FIRMWARE_ACTIVATE command must be used.
- Device Self-Test (DST): The Device Self-Test command is used to start the device self-test operation or abort a device self-test operation. Intel® VROC (VMD NVMe* RAID) will pass the ADMIN_DEVICE_SELF_TEST command to the appropriate NVMe* device. Intel® VROC (VMD NVMe* RAID) passes this command to the NVMe* device in Pass-Thru mode and RAID mode.
- Sanitize: The Sanitize command is used to start a sanitize operation or to recover from a previously failed sanitize operation. It is supported for Pass-Thru NVMe* drives only and is defined in the NVM Express base specification. For RAID volumes, to sanitize a RAID member drive, the user must first delete the RAID volume, and then send the Sanitize command to the drive. Delete RAID volume functionality is provided by the Intel® VROC Standard Storage Interface Protocol.
Intel® VROC (VMD NVMe* RAID) IOCTL Support
The Intel® VROC (VMD NVMe* RAID) package supports passing certain NVMe* admin commands to a particular NVMe* device attached to an Intel® VMD domain. The Intel® VROC (VMD NVMe* RAID) IOCTLs provide support for obtaining information about the disks in the system and to be able to use that information to send NVMe* private IOCTLs to a specific disk.
For specific information about the Intel® VROC (VMD NVMe* RAID) IOCTL support, refer to the document included in the Intel® VROC software package kit. See the reference documentation at the bottom of this page.
Intel® VROC (VMD NVMe* RAID) Private Device/Member Info Protocol
The Intel® VROC (VMD NVMe* RAID) package will provide a custom interface to provide information on NVMe* devices in Pass-Thru mode (non-RAID) as well as those NVMe* devices that are part of an Intel® VROC (VMD NVMe* RAID) RAID volume when those devices are managed by Intel® VMD. This interface (or protocol) is installed on each handle of the Intel® VMD managed Pass-Thru NVMe* drives. It is important that the user, utilizing this information, not alter any of the information directly as this could lead to unpredictable behavior. If the information is to be retained, a copy of the information should be made, and the protocol should be closed. This is because the underlying information can change over time.
For specific information about the Intel® VROC (VMD NVMe* RAID) Private Device Info Protocol, refer to the document included in the Intel® VROC software package kit. See the reference documentation at the bottom of this page.
Reference Documentation
Below is a list of documents included in the Intel® VROC software package kit.
| Document | Description |
|---|---|
| Intel® Virtual RAID on CPU (Intel® VROC (VMD NVMe* RAID)) Private UEFI Device Info Protocol | This Intel® VROC (VMD NVMe* RAID) protocol can be used to retrieve information for non-RAID and RAID member NVMe* devices connected to Intel® VMD domains. |
| Intel® Virtual RAID on CPU (intel® VROC (VMD NVMe* RAID)) Private UEFI Volume Info Protocol | The Intel® VROC (VMD NVMe* RAID) volume info protocol can be used to retrieve information for all RAID volumes created thru Intel® Virtual RAID on CPU (Intel® VROC) UEFI mode only, and Intel® VROC (VMD NVMe* RAID). Changes can also be seen using the HII and Intel® VROC (VMD NVMe* RAID) / Intel® VROC (VMD NVMe* RAID) UEFI tools. |
| Intel® Virtual RAID on CPU (Intel® VROC (VMD NVMe* RAID)) IOCTLs | This document presents all NVMe* admin commands supported by Intel® VROC (VMD NVMe* RAID) and describes how to send them to a particular NVMe* device. |