Caching And Tiering: Intel Optane Memory H20 and Enmotus FuzeDrive SSD Reviewedby Billy Tallis on May 18, 2021 2:00 PM EST
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.