Skip To Main Content
Support Knowledge Base

Intel® Virtual RAID on CPU (Intel® VROC) Pre-OS RAID Management Environment

Content Type: Product Information & Documentation   |   Article ID: 000101225   |   Last Reviewed: 05/19/2025

Environment

Intel® VROC for Windows*

The following information addresses the usage of the different components and outlines the system or platform requirements needed to properly support the usage of the Intel® VROC family of products, including Intel® VROC (VMD NVMe* RAID), Intel® VROC (SATA RAID) and Intel® VROC (Non-VMD NVMe* RAID). To learn about specific Pre-OS environment features supported by each Intel® VROC sub-product, refer to the following resources:

Intel® VROC Features Pre-OS management is one of the features of the Intel® VROC family of products. To learn about other features of Intel® VROC, refer to the Intel® Virtual RAID on CPU (Intel® VROC) Technical Product Specification for Windows*.

Intel® VROC Unified Extensible Firmware Interface (UEFI) Drivers

The Intel® VROC family of products provides UEFI drivers to support the UEFI BIOS environment. The UEFI drivers provide an HII interface to support a BIOS level menu-driven configuration tool that is accessed in the BIOS setup. The Intel® VROC UEFI images included support for Intel® Volume Management Device (Intel® VMD) and SATA/sSATA/tSATA controllers set to RAID mode.

Specification References

This information is not intended to be a go-to reference for the UEFI specification. The specification is owned by the UEFI working group and detailed information regarding UEFI can be found in documents published by that organization. The Intel® VROC UEFI driver implementation conforms to the UEFI specification and is in compliance with version 2.3.1. At the time that this product was developed, the below specifications were the latest and the versions that were used in the design. Intel® VROC 7.6 Pre-OS is also compliant with version 2.7.

Intel® VROC UEFI User Interface (UI)

An HII-compliant user interface is provided for the pre-boot configuration of the RAID system.

  • The HII UI is integrated within the UEFI driver binary provided. Per the UEFI specification, Intel publishes the HII UI as string and forms packages.
  • The HII UI is accessible from within the UEFI BIOS (how the user accesses it from within the BIOS is dependent upon the platform manufacturer's implementation).
  • The text string Intel® Virtual RAID on CPU or Intel® VROC SATA Controller or Intel® VROC sSATA Controller or Intel® VROC tSATA Controller will be displayed as the selection to enter the HII UI.
  • Some platform manufacturers may want to hard assign where the Intel® VROC UEFI UI will be located within their BIOS.

The Intel® VROC UEFI driver FORMSET_GUID is:

FORMSET_GUID {0xd37bcd57, 0xaba1, 0x44e6, {0xa9, 0x2c, 0x89, 0x8b, 0x15, 0x8f, 0x2f, 0x59}} {D37BCD57-ABA1-44e6-A92C-898B158F2F59}

UEFI System BIOS Requirements for Platform Compatibility with Intel® VROC UEFI

This section covers what the BIOS vendor is required to accomplish to ensure that the platform is compatible with the Intel® VROC UEFI driver. For information on what the Intel® VROC UEFI driver was designed to support, refer to the Relevant Specifications section in the Intel® Virtual RAID on CPU (Intel® VROC) Technical Product Specification for Windows*.

Required Protocols/Functions to be Provided by the UEFI System BIOS

The Intel® VROC UEFI drivers require the following protocols/functions to be provided by the BIOS:

EFI_BOOT_SERVICES: 

  • LocateHandleBuffer
  • OpenProtocol
  • CloseProtocol
  • WaitForEvent
  • HandleProtocol
  • FreePool
  • AllocatePages
  • AllocatePool
  • InstallMultipleProtocolInterfaces
  • UninstallMultipleProtocolInterfaces
  • Stall
  • CopyMem
  • LocateProtocol

EFI_RUNTIME_SERVICES: 

  • SetVariable
  • GetVariable
  • GetTime

Other Protocols:

  • EFI_ACPI_TABLE_PROTOCOL (or EFI_ACPI_SUPPORT_PROTOCOL (EDK117))
Optional Protocols/Functions to be Provided by the UEFI System BIOS

If the BIOS vendor plans to use the Intel® VROC HII-compliant UI, then the following protocols/functions are required to be provided by the BIOS:

  • Form Browser 2 Protocol
  • Config Routing Protocol
  • HII String Protocol
  • HII Database Protocol
Protocols Provided by the Intel® VROC UEFI Drivers

The Intel® VROC UEFI drivers provide the following protocols:

  • Driver Binding Protocol
  • Component Name Protocol (English only)
  • Component Name 2 Protocol (English only)
  • Driver Supported EFI Version Protocol
  • Device Path Protocol
  • Config Access Protocol 
  • EFI_BLOCK_IO_PROTOCOL:
    • For logical devices.
  • EFI_STORAGE_SECURITY_PROTOCOL:
    • For pass-thru drives, RAID members, spare, journaling and Self-Encrypting Drives (SED) devices (SED drive’s authentication encryption key are managed by a separated Intel® VROC SED driver).
    • When installing this protocol for RAID member drives (SATA and NVMe* drives), the Intel® VROC driver will detect drive's state changes - all possible changes between Locked, Unlocked and Unencrypted states. And a re-enumeration execution after state change to avoid RAID failure (or degrading) when the RAID members are unlocked one-by-one.
    • Two new properties: Encryption Ability (None/Other/SED), and Encryption Status (Unencrypted/Locked/Unlocked (displayed only if Encryption Ability is Other or SED)) are added for every drive in all Intel® VROC user interfaces (UEFI HII, RCfg, Windows* applications: Graphical User Interface and Command Line Interface, and Out-of-Band Management). For drives in Locked state, block all actions (e.g., mark as spare, create volume, and other drive/volume actions) that uses this drive.
    • The following changes are also required: Intel® VROC/VMD UEFI drivers to implement Level 0 Discovery and ATA Identify Discovery in the drive's enumeration flow and after each SSCP.ReceiveData function call (to refresh the state)
    • Intel® VROC Windows* driver: Implement Level 0 Discovery and ATA Identify Discovery in the drive's enumeration flow.
  • EFI_EXT_SCSI_PASS_THRU_PROTOCOL:
    • All SCSI commands are supported (for ATAPI devices).
How to Enable the Platform with Intel® VROC UEFI Driver/HII UI

Platform UEFI BIOS

  • Ensure that the UEFI System BIOS meets UEFI Specification 2.3.1 compliance.
  • The BIOS must provide the following protocols:
    • EFI_Boot_Services Protocols (refer section 4.4).
    • EFI_Runtime_Services Protocols (refer section 4.5).
    • EFI_HII Protocols (refer section 29) required for the Intel® VROC UEFI UI.

Download and Integrate the Intel® VROC UEFI Package

  1. Download the latest kit from the Intel® VIP (Validation Internet Portal) website.
  2. From the kit, select the Pre-OS zip file which will contain all the Intel® VROC (VMD NVMe* RAID) and Intel® VROC (SATA RAID) Pre-OS images and tools.
  3. Go to the efi_standalone_vroc_rs (Intel® VROC (VMD NVMe* RAID)) or efi_sataefi_ssata and efi_tsata (Intel® VROC (SATA RAID)) directories to find the UEFI driver binary file.
  4. Select and extract the binary file based on the planned integration method:
    • VMDVROC_1.efi and VMDVROC_2.efi – Include these binaries when building the BIOS image to support Intel® VROC (VMD NVMe* RAID).
    • VMDVROC_1.depex and VMDVROC_2.depex – Include these files when building the BIOS image to support Intel® VROC (VMD NVMe* RAID).
    • SataDriver.efi – Include this binary when building the BIOS image to support Intel® VROC (SATA RAID) SATA controller.
    • SataDriver.depex – Include this file when building the BIOS image to support Intel® VROC (SATA RAID) SATA controller.
    • sSATADriver.efi – Include this binary when building the BIOS image to support Intel® VROC (SATA RAID) sSATA controller.
    • sSATADriver.depex – Include this file when building the BIOS image to support Intel® VROC (SATA RAID) sSATA controller.
    • tSATADriver.efi – Include this binary when building the BIOS image to support Intel® VROC (SATA RAID) tSATA controller.
    • tSATADriver.depex – Include this file when building the BIOS image to support Intel® VROC (SATA RAID) tSATA controller.
  5. Use the proper integration tools based on the binary file selected above.

Verify Compliance

There are tools provided to help verify that this process has been completed successfully. Reference Intel® Virtual RAID on CPU (Intel® VROC) VMD NVMe* RAID Pre-OS Components and Intel® Virtual RAID on CPU (Intel® VROC) SATA RAID Pre-OS Components for these files and instructions.

Known Compatibility Issues with the UEFI Self Certification Test (UEFI SCT) Tool

The following UEFI 2.3.1 SCT tests will appear as fail in reports generated using the Report Generation tool of the SCT framework. The Report Generation tool is the only method that should be used to determine if tests fail. Do not determine test failing test results by viewing the raw log files. The Report Generation tool will discard any test results that failed due to an invalid system configuration.

Bootable Image Support Test\Block IO Protocol Test

EFI_BLOCK_IO_PROTOCOL.Reset - Reset() returns EFI_SUCCESS with ExtendedVerification being TRUE.

  • Test Index: 5.7.5.1.1
  • Test GUID: 61EE3A34-62A2-4214-B076-5073B177156C
  • Reason: The Intel® VROC UEFI driver does not support Reset()EFI_UNSUPPORTED is returned.

EFI_BLOCK_IO_PROTOCOL.Reset - Reset() returns EFI_SUCCESS with ExtendedVerification being FALSE.

  • Test Index: 5.7.5.1.2
  • Test GUID: 98530F3D-8BD8-44A1-9D06-08039FDFEC63
  • Reason: The Intel® VROC UEFI driver does not support Reset()EFI_UNSUPPORTED is returned.

EFI_BLOCK_IO_PROTOCOL.ReadBlocks - ReadBlocks() returns EFI_SUCCESS with valid parameter.

  • Test Index: 5.7.5.3.1
  • Test GUID: 9EFE26C2-C565-478A-A0B4-05A8FD2E7E3E
  • Reason: Test called ReadBlocks() with a buffer size of 0 so EFI_BAD_BUFFER_SIZE is returned. The UEFI 2.3.1 specification states for ReadBlocks(): The size of the Buffer in bytes. This must be a multiple of the intrinsic block size of the device.

EXT_SCSI_PASSTHRU_PROTOCOL Test

EFI_ATA_PASS_THRU_PROTOCOL.BuildDevicePath - call BuildDevicePath with NULL DevicePath.

  • Test Index: 5.7.8.2.1

HII Test\HII Config Access Protocol Test

EFHII_CONFIG_ACCESS_PROTOCOL.RouteConfig - RouteConfig() returns EFI_NOT_FOUND if no target was defined.

  • Test Index: 5.18.6.2.3
  • Test GUID: 1F99EBC8-0253-455F-88AC-9E2BA6DCD729 found with the routing data.
  • Reason: The Intel® VROC UEFI driver does not support RouteConfig(). EFI_UNSUPPORTED is returned.  RouteConfig() is not supported so that Intel® VROC HII form values are only modified by the Intel® VROC drivers.

HII_CONFIG_ACCESS_PROTOCOL.RouteConfig - RouteConfig() returns EFI_INVALID_PARAMETER with configuration been NULL.

  • Test Index: 5.18.6.2.1
  • Test GUID: 495C99F3-0231-45A5-AFFA-D25C6F9A191C
  • Reason: It is caused by not using EFI HII Configuration Access Protocol (see section 31.4 in UEFI 2.4 specification) in Intel® VROC UEFI drivers. The Intel® VROC software does not use it as it is not necessary.

HII_CONFIG_ACCESS_PROTOCOL.RouteConfig- RouteConfig() returns EFI_SUCCESS with valid parameter.

  • Test Index: 5.18.6.2.4
  • Test GUID: 1A15DF85-6CC1-43F2-9B86-218BD5FDF4A0
  • Reason: It is caused by not using EFI HII Configuration Access Protocol (see section 31.4 in UEFI 2.4 specification) in Intel® VROC UEFI drivers. The Intel® VROC software does not use it as it is not necessary.

UEFI Health Protocol

The Intel® VROC family of products provides support for the UEFI Health Protocol as defined in the UEFI specifications listed above. Intel® VROC provides support for EFI_DRIVER_HEALTH_PROTOCOL.GetHealthStatus(). The types of health status messages that Intel® VROC will report will match those messages that are displayed in the Intel® VROC UEFI HII. A health status of failed will be returned when:

  • A RAID volume is in a failed state.
  • A RAID volume is in a degraded state.
  • A drive has encountered a SMART event.
  • A drive is marked as failed, unknown, unsupported, incompatible, or offline.

Support for EFI_DRIVER_HEALTH_PROTOCOL.Repair() is currently not supported.

Determining the Version of the Intel® VROC UEFI Driver

There are three ways to determine the version of the Intel® VROC UEFI driver(s) integrated into the system BIOS. Use the following procedure to determine the version.

Using the UEFI Shell

When the platform BIOS is configured to boot from the Intel® VROC UEFI, to obtain the driver version or to verify that the UEFI driver is loaded just enter into the BIOS setup or press the hot key to enter into the Boot Option menu. Boot into a UEFI shell environment and type the command Shell:>drivers.

The Intel® VROC UEFI driver will be shown along with the version, where xx.x.x.xxxx will be replaced with the actual UEFI OROM version. For example: “CD 0000000B B - - 1 2 Intel(R) VROC xx.x.x.xxxx SATA Driver”.

Intel® VROC (SATA RAID) Device Information Display in UEFI

The Intel® VROC family of products includes the support for the Intel® VROC (SATA RAID) UEFI driver to report the physical port for devices connected to the SATA/sSATA controllers. In some of the releases of the Intel® VROC UEFI driver, the device information provided (i.e., to the UEFI shell environment) was based off the enumeration values created during the discovery of the devices attached. To support a manufacturing environment that relies on this information to identify the physical port the device is connected to, the UEFI driver now reports out the physical port value instead of the enumerated value. The data is displayed as a set of three values in the following order: X-Y-Z.

  • X – 0: pass-thru disk, 1: volume
  • Y – PHY number: 1 (phy0), 2 (phy1), 4 (phy3), 8 (phy3), 16 (phy4), 32 (phy6), 64 (phy7)
  • Z – disk number on PHY (in case of an expander)
Intel® VROC UEFI Boot Volume Configuration

The Intel® VROC HII interface allows users to create bootable RAID volumes. This procedure should only be used for a newly built system or reinstall of the operating system. 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.

Pre-OS Installation of the Intel® VROC Driver

The Intel® VROC (SATA RAID) and Intel® VROC (VMD NVMe* RAID) drivers can and should be used to install the Windows* operating system when the platform is configured for RAID mode. For conditions where the Windows* operating system is already installed, the Intel® VROC drivers can be loaded/installed from the operating system environment.

Pre-OS Driver Installation Using the “Load Driver” Method

Follow these steps to install the Pre-OS driver during the Windows* OS installation:

  1. During the operating system installation, after selecting the location to install the Windows* operating system, click the Load Driver button to install the desired Intel® VROC drivers.
  2. When prompted, insert the media with the Intel® VROC driver files and press Enter. The user can find the media and browse to the folder where the files are located.
  3. Follow the steps to load the driver and return to the installation. 
  4. Continue the operating system installation.

Selectable Boot Volume

The Intel® VROC family of products supports the ability to select any volume as the operating system boot volume, provided the volume size meets the minimum size requirements for the operating system being installed. The operating system installer will be able to install the operating system onto the specified RAID volume.

Pre-OS RAID Failure Recovery Process

The Intel® VROC Pre-OS UEFI HII provides support for the ability to attempt to recover a failed Intel® VROC RAID volume. When a failed RAID volume is encountered during boot, the option is made available in the Intel® VROC HII page for which the user can select. This is a multi-step process.

Warning Intel makes no guarantee of successful recovery from a failed state using this option. This must be treated as a last chance effort and there is no guarantee that there won’t be some data loss. Intel always recommends recovering a failed RAID volume by recreating the RAID volume from scratch and restore the data from the latest platform image backup.

This feature is accessed through the Intel® VROC HII when the platform boots with a failed Intel® VROC RAID volume present. It is important to note that for this to work, there must be enough Intel® VROC RAID member drives present to place the failed RAID volume back into a degraded state. The process to attempt to recover the failed RAID volume begins by booting the platform into the BIOS setup and then navigating into the Intel® VROC HII. By selecting the failed volume, an option will be available to force the volume back into a degraded (or normal) state. This will expose the next option to specify the Intel® VROC RAID volume member drives to enable this action. Once the necessary drives are selected, the RAID volume will be forced back into a degraded state. From that state the RAID volume can be rebuilt.

The following example shows how a failed Intel® VROC RAID volume is recovered. In this example, the RAID volume configuration is a four-drive RAID 10 volume. In this example, Disk 0 is removed (putting the RAID volume into a degraded state) followed by Disk 1 to simulate a platform hardware failure scenario. This platform behavior will cause the RAID 10 volume into a failed state. The example steps through the process of reinserting the missing disks and the steps to recover the failed volume. This process does not guarantee that all the data can be recovered.

  1. Power down the system.
  2. Reattach the drives to the system. Use the same position that they were before removal.
  3. Power up the system.
  4. Boot into the Intel® VROC HII, where the RAID 10 volume is shown to be in a failed state.
  5. To being the recovery process, select the failed RAID volume. An option to recover will be displayed: Delete, Reset to Normal, Reset to Degraded.
  6. Select Reset to Degraded. This will open the Reset to Degraded menu. In the Reset to Degraded menu, select the drives that were not removed from the system (in this case, Disk 2 and Disk 3), and then select the drive that was the last drive present when the volume was last in a degraded state. In this example that is Disk 1.
    • Selecting the most recently removed drive can minimize data loss in case of the following event: 
      • Disk 0 is lost from the RAID 10 volume, due to a hardware error, causing the RAID 10 volume to become degraded. In the degraded state you may still write to the RAID volume; however, it is no longer fully fault tolerant.
      • Writing to the degraded RAID 10 volume can continue, causing a sync difference between the degraded RAID 10 volume and the metadata on Disk 0.
      • When Disk 1 is lost (again due to further hardware failures), the RAID 10 volume will transition to a failed state and all I/O will stop.
      • By forcing the RAID 10 volume back to a degraded state, using Disk 1, Disk 2 and Disk 3, theoretically the data on the (now degraded) RAID volume should match that from before Disk 1 was lost.
      • This can allow the degraded RAID 10 volume to be rebuilt to Disk 0.
      • In this event, to restore the RAID 10 volume to the latest state while minimizing the chance of data loss (with Disk 1 in its original position in the system), it is important to select Disk 1 to sync with Disk 2 and Disk 3.
  7. Select the Reset to Degraded option. This will sync the data between the three drives selected. On the confirmation screen, select Yes. The RAID 10 volume can now be rebuilt. In this example, Disk 0 is also present and in its original location. In the degraded state, Intel® VROC will see that all four drives from the RAID 10 volume are present and healthy, hence the RAID volume will begin the rebuilding process automatically.

UEFI Firmware Management Protocol Support

Intel® VROC 7.7 provides limited support for the UEFI Firmware Management Protocol (FMP) as outlined in UEFI Specification version 2.9. See more in New Features Introduced with the Intel® Virtual RAID on CPU (Intel® VROC) 7.7 Release for Windows*.

GetImageInfo for NVMe* SSDs

The Intel® VROC (VMD NVMe* RAID) UEFI driver will respond to a GetImageInfo command with EFI_FIRMWARE_IMAGE_DESCRIPTORS filled in the following way:

  • ImageIndex will indicate the Firmware Slot Index (1...N), defined in the NVMe* specification.
  • ImageTypeId will be 25D4CA70-05E8-44CB-B13D-ABA064717432.
  • ImageId will be the ImageIndex.
  • ImageIdName string will be Drive model: <ModelNumber>, Firmware Slot: <FirmwareSlotIndex>.
  • Version will be 0.
  • VersionName will be the Firmware Revision for Slot [<ImageId>], defined in the NVMe* specification.
  • Size will be 1.
  • AttributesSupported, the following attributes will be set to:
    • IMAGE_ATTRIBUTE_IN_USE
    • IMAGE_ATTRIBUTE_IMAGE_UPDATABLE
    • Rest of attributes shall be cleared.
  • AttributesSetting will be set according to the table below:
Attribute Value
IMAGE_ATTRIBUTE_IMAGE_UPDATABLE If this is the first firmware slot and FRMW bit 0 is set, then attribute cleared to 0, otherwise attribute set to 1.
IMAGE_ATTRIBUTE_RESET_REQUIRED Cleared.
IMAGE_ATTRIBUTE_AUTHENTICATION_REQUIRED Cleared.
IMAGE_ATTRIBUTE_IN_USE If this firmware slot is active (pointed by AFI 2:0 in NVMe* specification), then set, otherwise cleared.
IMAGE_ATTRIBUTE_UEFI_IMAGE Cleared.
IMAGE_ATTRIBUTE_DEPENDENCY Cleared.
  • Compatibilities will be set to 0.
  • LowestSupportedImageVersion will be set to 3.
  • LastAttemptVersion will be set to 0.
  • LastAttemptStatus will be set to the last returned status by the SetImage function if called, otherwise it will be set to LAST_ATTEMPT_STATUS_SUCCESS.
  • HardwareInstance will be constructed in the following way:
Bits Value (Physical Location of NVMe* Drive)
63:32 0
31:24 CPU Socket Number
23:16 VMD Controller Number
15:8 Root Port Offset
7:0 PCIe Slot Number

The Intel® VROC (VMD NVMe* RAID) UEFI driver will return as many EFI_FIRMWARE_IMAGE_DESCRIPTORS as the number of NVMe* firmware slots with non-zero firmware revisions.

The Intel® VROC (VMD NVMe* RAID) UEFI driver will return PackageVersion equal to 0xFFFFFFFF and PackageVersionName equal to NULL pointer.

SetImage for NVMe* SSDs

When the Intel® VROC (VMD NVMe* RAID) UEFI driver receives a SetImage command, it will update the NVMe* SSDs with the image provided. 

Firmware Activation

When Intel® VROC (VMD NVMe* RAID) receives a SetImage function for an NVMe* SSD that does not support firmware activation without reset, Intel® VROC will send the firmware image to the NVMe* SSD; activate the firmware and then reset the NVMe* SSD (Controller Level Reset).

When Intel® VROC (VMD NVMe* RAID) receives a SetImage function for an NVMe* SSD that does support firmware activation without reset, Intel® VROC will send the firmware image to the NVMe* drive and activate the new firmware immediately.

Firmware Update Status

Intel® VROC (VMD NVMe* RAID) will report the firmware progress update in multiple stages:

  • Progress reported proportionally to the number of image chunks already sent to the drive up to 90%.
  • 100% progress reported after firmware activation.
GetImageInfo for SATA SSDs

The Intel® VROC (SATA RAID) UEFI driver will respond to a GetImageInfo command. It will respond with EFI_FIRMWARE_IMAGE_DESCRIPTORS filled in the following way:

  • ImageIndex will be set to 1.
  • ImageTypeId will be 9C9A55B0-A5CD-456F-9AC3-76765D68733D.
  • ImageId will be the ImageIndex.
  • ImageIdName string will be Drive model: <ModelNumber>.
  • Version will be 0.
  • VersionName will be the firmware revision in IDENTIFY_DEVICE_DATA, defined in ATA specification.
  • Size will be 0.
  • AttributesSupported, the following attributes will be set to:
    • IMAGE_ATTRIBUTE_IN_USE
    • IMAGE_ATTRIBUTE_IMAGE_UPDATABLE
    • Rest of attributes shall be cleared.
  • AttributesSetting will be set according to the table below:
Attribute Value
IMAGE_ATTRIBUTE_IMAGE_UPDATABLE If DOWNLOAD_MICROCODE or DOWNLOAD_MICROCODE_DMA is supported, then attribute set to 1, otherwise attribute cleared to 0.
IMAGE_ATTRIBUTE_RESET_REQUIRED Cleared.
IMAGE_ATTRIBUTE_AUTHENTICATION_REQUIRED Cleared.
IMAGE_ATTRIBUTE_IN_USE Set.
IMAGE_ATTRIBUTE_UEFI_IMAGE Cleared.
IMAGE_ATTRIBUTE_DEPENDENCY Cleared.
  • Compatibilities will be set to 0.
  • LowestSupportedImageVersion will be set to 3.
  • LastAttemptVersion will be set to 0.
  • LastAttemptStatus will be set to the last returned status by the SetImage function if has been called, otherwise it shall be equal to LAST_ATTEMPT_STATUS_SUCCESS.
  • HardwareInstance will be set to the AHCI port number to which the SATA drive is connected.

The Intel® VROC (SATA RAID) UEFI driver will return one EFI_FIRMWARE_IMAGE_DESCRIPTOR.

The Intel® VROC (SATA RAID) UEFI driver will return PackageVersion equal to 0xFFFFFFFF and PackageVersionName equal to NULL pointer.

SetImage for SATA SSDs

When Intel® VROC (SATA RAID) receives a SetImage command, Intel® VROC will update the SATA drive with the image provided. Intel® VROC will select ATA_DOWNLOAD_MICROCODE subcommand based on the drive capabilities, the VendorCode argument and the _ATA_DM_SUBCOMMAND_SELECTION_POLICY to update the firmware.

If the SetImage command contains invalid parameters, Intel® VROC will return the EFI_INVALID_PARAMETER status.

Firmware Update Progress

Intel® VROC (SATA RAID) will report the firmware progress update in multiple stages, reported proportionally to the number of image chunks already sent to the drive, up to 100%, when the ATA_DOWNLOAD_MICROCODE subcommand is 03h.

When the ATA_DOWNLOAD_MICROCODE subcommands are 0Eh and 0Fh, Intel® VROC (SATA RAID) will report the firmware update progress in multiple stages:

  • Progress reported proportionally to the number of image chunks already sent to the drive up to 90%.
  • 100% progress reported after sending subcommand 0Fh.

Physical Drive Location Information in UEFI

Intel® VROC will display the physical drive location information in UEFI as explained in New Features Introduced with the Intel® Virtual RAID on CPU (Intel® VROC) 8.0 Release for Windows*.

Multiple Namespaces in NVMe* SSDs

The Intel® VROC (VMD NVMe* RAID) UEFI driver will process NVMe* SSDs that support multiple namespaces, by reporting the first namespace as the one that Intel® VROC (VMD NVMe* RAID) will recognize.

Disable Intel® VROC LED Management

Intel® VROC provides support for platform manufacturers to disable the Locate LED functionality within the Intel® VROC LED Management. By enabling the feature, the platform manufacturers can use their own tools to initiate a Locate LED functionality within their platform. The mechanism that is used to accomplish this feature through the EFI variable is called VrocUefiConfig. When this feature is enabled, the Locate LED option will be hidden in the Intel® VROC UEFI HII menus.

VrocUefiConfig Spec to Disable Intel® VROC LED Management

The description of the VrocUefiConfig interface to be able to disable Intel® VROC LED Management is as follows:

#define VROC_UEFI_CONFIG_STR L"VrocUefiConfig"
#define VROC_UEFI_CONFIG_SATA_HII_DISABLE_LOCATE_LED 0x1
#define VROC_UEFI_CONFIG_VMD_HII_DISABLE_LOCATE_LED 0x2
typedef UINT64 VrocUefiConfig;

To disable Locate LED from HII, customers must set this variable via SetVariable() (refer to UEFI_Spec_2_7.pdf, section 8.2):

typedef
EFI_STATUS
SetVariable (
    IN CHAR16 *VariableName,
    IN EFI_GUID *VendorGuid,
    IN UINT32 Attributes,
    IN UINTN DataSize,
    IN VOID *Data
);

SetVariable() example call which disables Locate LED from both Intel® VROC (SATA RAID) and Intel® VROC (VMD NVMe* RAID) HII:

EFI_GUID IntelVrocGuid = { 0x193dfefa, 0xa445, 0x4302, { 0x99, 0xd8, 0xef, 0x3a, 0xad, 0x1a, 0x04, 0xc6 } };
VrocUefiConfig = VROC_UEFI_CONFIG_SATA_HII_DISABLE_LOCATE_LED | VROC_UEFI_CONFIG_VMD_HII_DISABLE_LOCATE_LED;
SetVariable(
    VROC_UEFI_CONFIG_STR,
    &IntelVrocGuid,
    EFI_VARIABLE_BOOTSERVICE_ACCESS,
    sizeof(vrocUefiConfig),
    &vrocUefiConfig
);

Calling SetVariable()

The Intel® VROC UEFI driver HII will read the VrocUefiConfig EFI variable only once, when entering the Disk Info Form for the first time. The Disk Info Form is the form where Locate LED can be located. That means that SetVariable() does not have to be called before loading the Intel® VROC UEFI drivers, because all drivers will be loaded and initialized prior to the user entering the Intel® VROC HII. For this, there are no additional depex files needed and SetVariable() may be called any time during BIOS initialization.

VrocUefiConfig Not Set or Set to 0

When the VrocUefiConfig EFI variable is not set or set to a value of 0, the Intel® VROC UEFI drivers work as usual and Intel® VROC will manage the Locate LED process.

Intel® VROC Tools

The Intel® VROC RAID configuration tools (RCfg) will report an error message when VrocUefiConfig states that Intel® VROC LED Management is not to be supported.

Related Products

This article applies to 1 products.