Compatibility Issues

One of the major new features of Intel's Tiger Lake mobile processors is support for PCIe 4.0 lanes coming directly off the CPU. The chipset's PCIe lanes are still limited to PCIe 3.0 speeds, but SSDs or a discrete GPU can now get twice the bandwidth.

This change is relevant because of how Intel's Optane Memory caching software interacts with the system's hardware and firmware. Earlier generations of Optane Memory and Intel's NVMe RAID solutions for their consumer platforms all relied on the NVMe SSDs being attached through the chipset. They used an ugly hack to hide NVMe devices from standard NVMe driver software and make them accessible only through the chipset's SATA controller, where only Intel's drivers could find them. Using chipset-attached NVMe devices with standard NVMe drivers as included in operating systems like Windows or Linux required changing the system's BIOS settings to put the SATA controller in AHCI mode rather than RAID/RST mode. Most of the PC OEMs who didn't provide that BIOS option were eventually shamed into adding it, or only activating this NVMe remapping mode when an Optane Memory device is installed.

For Tiger Lake and CPU-attached NVMe drives, Intel has brought over a feature from their server and workstation platforms. The Intel Volume Management Device (VMD) is a feature of the CPU's PCIe root complex. VMD leaves NVMe devices visible as proper PCIe devices, but enumerated in a separate PCI domain from all the other devices in the system. In the server space, this is a clear improvement as it made it easier to handle error containment and hotplug in the driver without involving the motherboard firmware, and VMD was used as the foundation for Intel's Virtual RAID on CPU (VROC) NVMe software RAID on those platforms. In the client space, VMD still accomplishes Intel's goal of ensuring that the standard Windows NVMe driver can't find the NVMe drive, leaving it available for Intel's drivers to manage.

Unfortunately, this switch seems to mean we're going through another round of compatibility headaches with missing BIOS options to disable the new functionality. It's not currently possible to do a clean install of Windows 10 onto these machines without providing an Intel VMD driver at the beginning of the installation process. Without it, Windows simply cannot detect the NVMe SSD in the CPU-attached M.2 slot. As a result, all of the Windows-based benchmark results in this review were using the Intel RST drivers (except for the Enmotus FuzeDrive SSD, which has its own driver). Normally we don't bother with vendor-specific drivers and stick with Microsoft's NVMe driver included with Windows, but that wasn't an option for this review.

We had planned to include a direct comparison of Intel's Optane Memory H20 against the Enmotus FuzeDrive P200 SSD, but Intel's VMD+RST situation on Tiger Lake prevents the Enmotus drivers from properly detecting the FuzeDrive SSD. On most platforms, installing the FuzeDrive SSD will cause Windows Update to fetch the Enmotus drivers and associate them with that particular NVMe device. Their Fuzion application can then be downloaded from the Microsoft Store to configure the tiering. Instead, on this Tiger Lake notebook, the Fuzion application reports that no FuzeDrive SSD is installed even when the FuzeDrive SSD is the only storage device in the system. It's not entirely clear whether the Intel VMD drivers merely prevent the FuzeDrive software from correctly detecting the drive as one of their own and unlocking the tiering capability, or if there's a more fundamental conflict between the Intel VMD and Enmotus NVMe drivers that prevents them from both being active for the same device. We suspect the latter.

Ultimately, this mess is caused by a combination of Intel and Enmotus wanting to keep their storage software functionality locked to their hardware (though Enmotus also sells their software independently), and Microsoft's inability to provide a clean framework for layering storage drivers the way Linux can (while allowing for the hardware lock-in these vendors demand). Neither of these reasons is sufficient justification for shipping such convoluted "solutions" to end users. It's especially disappointing to see that Intel's new and improved method for supporting Optane Memory caching now breaks a competitor's solution even when the Optane Memory hardware is removed from the system. The various software implementations of storage caching, tiering, RAID, and encryption available in the market are powerful tools, but they're at their best when they can be used together. Intel and Microsoft need to step up and address this situation, or attempts at innovation in this space will continue to be stifled by unnecessary complexity that makes these storage systems fragile and frustrating.

An Alternative: Enmotus FuzeDrive SSD Application Benchmarks and IO Traces
Comments Locked

45 Comments

View All Comments

  • haukionkannel - Wednesday, May 19, 2021 - link

    Most likely PCI 5.0 or 6.0 in reality… and bigger ottaen part. Much bigger!
  • tuxRoller - Friday, May 21, 2021 - link

    You made me curious regarding the history of hsm.
    It earliest one seems to be the IBM 3850 in the 70s.
    So. Yeah. It's not exactly new tech:-|
  • Monstieur - Tuesday, May 18, 2021 - link

    VMD changes the PID & VID so the NVMe drive will not be detected with generic drivers. This is the same behavior on X299, but those boards let you enable / disable VMD per PCIe slot. There is yet another feature called "CPU Attached RAID" which lets you use RST RAID or Optane Memory acceleration with non-VMD drives attached to the CPU lanes and not chipset lanes.
  • Monstieur - Tuesday, May 18, 2021 - link

    500 Series:
    VMD (CPU) > RST VMD driver / RST Optane Memory Acceleration with H10 / H20
    Non-VMD (CPU) > Generic driver
    CPU Attached RAID (CPU) > Generic or RST driver / RST RAID / RST Optane Memory Acceleration with H10 / H20 / 900p / 905p
    RAID (PCH) > Generic or RST driver / RST RAID / RST Optane Memory Acceleration with H10 / H20 / 900p / 905p
    AHCI (PCH) > Generic driver

    X299:
    VMD (CPU) > VROC VMD driver / VROC RAID
    Non-VMD (CPU) > Generic driver
    CPU Attached RAID (CPU) > Generic or RST driver / RST RAID / RST Optane Memory Acceleration with H10 / H20 / 900p / 905p
    RAID (PCH) > Generic or RST driver / RST RAID / RST Optane Memory Acceleration with H10 / H20 / 900p / 905p
    AHCI (PCH) > Generic driver
  • dwillmore - Tuesday, May 18, 2021 - link

    This really looks like a piece of hardware to avoid unless you run Windoes on the most recent generation of Intel hardware. So, that's a double "nope" from me. That's for the warning!
  • Billy Tallis - Tuesday, May 18, 2021 - link

    VMD has been an important feature of Intel server platforms for years. As a result, Linux has supported VMD for years. You may not be able to do a clean install of Windows onto this Tiger Lake laptop without loading extra drivers, but Linux has no problem.

    I had a multi-boot setup on a drive that was in the Whiskey Lake laptop. When I moved it over to the Tiger Lake laptop, grub tried to load its config from the wrong partition. But once I got past that issue, Linux booted with no trouble. Windows could only boot into its recovery environment. From there, I had to put RST drivers on a USB drive, load them in the recovery environment so it could detect the NVMe drive, then install them into the Windows image on the NVMe drive so it could boot on its own.
  • dsplover - Tuesday, May 18, 2021 - link

    Great read, thanks. Love the combinations benefits being explained so well.
  • CaptainChaos - Tuesday, May 18, 2021 - link

    The phrase "putting lipstick on a pig" comes to mind for Intel here!
  • Tomatotech - Wednesday, May 19, 2021 - link

    Other way round. Optane is stunning but Intel has persistently shot it in the foot for almost all their non-server releases.

    In Intel’s defence, getting it right requires full-stack cooperation between Intel, Microsoft, and motherboard makers. You’d think they should be able to do it, given that cooperating is at the basis of their existence, but in Optane’s case it hasn’t been achievable.

    Only Apple seems to be achieving this full stack integration with their M1 chip & unified memory & their OS, and it took them a long time to get to this point.
  • CaptainChaos - Wednesday, May 19, 2021 - link

    Yes... I meant that Optane is the lipstick & QLC is the pig Tomatotech dude! I use several Optane drives but see no advantage at this point for QLC! It's just not priced properly to provide a tempting alternative to TLC.

Log in

Don't have an account? Sign up now