Lenovo's announcement today of a new generation of ThinkPads based on Intel's Kaby Lake platform includes brief but tantalizing mention of Optane, Intel's brand for devices using the 3D XPoint non-volatile memory technology they co-developed with Micron. Lenovo's new ThinkPads and competing high-end Kaby Lake systems will likely be the first appearance of 3D XPoint memory in the consumer PC market.

Several of Lenovo's newly announced ThinkPads will offer 16GB Optane SSDs in M.2 2242 form factor paired with hard drives as an alternative to a using a single NVMe SSD with NAND flash memory (usually TLC NAND, with a portion used as SLC cache). The new Intel Optane devices mentioned by Lenovo are most likely the codenamed Stony Beach NVMe PCIe 3 x2 drives that were featured in roadmap leaked back in July. More recent leaks have indicated that these will be branded as the Intel Optane Memory 8000p series, with a 32GB capacity in addition to the 16GB Lenovo will be using. Since Intel's 3D XPoint memory is being manufactured as a two-layer 128Gb (16GB) die, these Optane products will require just one or two dies and will have no trouble fitting on to a short M.2 2242 card alongside a controller chip.

The new generation of ThinkPads will be hitting the market in January and February 2017, but Lenovo and Intel haven't indicated when the configurations with Optane will be available. Other sources in the industry are telling us that Optane is still suffering from delays, so while we hope to see a working demo at CES, the Optane-equipped notebooks may not actually launch until much later in the year. We also expect the bulk of the initial supply of 3D XPoint memory to go to the enterprise market, just like virtually all of Intel and Micron's 3D MLC NAND output has been used for enterprise SSDs so far.

Support for Intel Optane branded devices based on 3D XPoint memory technology has long been bandied about as a new feature of the Kaby Lake generation of CPUs and chipsets, but Intel has not officially clarified what that means. The plan of record has always been for the first Optane products to be NVMe SSDs, but NVMe is already thoroughly supported by current platforms and software. Because Optane SSDs will have a significantly higher price per GB than NAND flash based SSDs, the natural role for Optane SSDs is to act as a small cache device for larger and slower storage devices. The "Optane support" that Kaby Lake brings is almost certainly just the addition of the ability to use NVMe SSDs (including Optane SSDs) as cache devices.

At a high level, using Optane SSDs as a cache for hard drives is no different from the SSD caching Intel first introduced in 2011 with the Z68 chipset for Sandy Bridge processors and the Intel Rapid Storage Technology (RST) driver version 10.5. Branded by Intel as Smart Response Technology (SRT), their SSD caching implementation built on the existing RAID capabilities of RST to use a SSD as a block-level cache of a hard drive, operating as a write-back or write-through cache depending on the user's preference. For SATA devices, no hardware features were required but booting from RST RAID or cache volumes requires support in the motherboard firmware, and Intel's drivers have used RAID and SRT SSD caching to provide product segmentation between different chipsets.

With the release of Skylake processors and the 100-series chipsets, Intel brought support for NVMe RAID to RST version 15. This was not as straightforward to implement as RAID and SRT for SATA drives, owing to the fact that the SATA drives in a RST RAID or SRT volume are all conveniently connected through Intel's own SATA controller and managed by the same driver. NVMe SSDs by contrast each connect to the system through general-purpose PCIe lanes and can use either the operating system's NVMe driver or a driver provided by the SSD manufacturer. In order to bring NVMe devices under the purview of Intel's RST driver, 100-series chipsets have an unusual trick: when the SATA controller is put in RAID mode instead of plain AHCI mode, NVMe devices that are connected to the PCH have their PCI registers re-mapped to appear within the AHCI controller's register space and the NVMe devices are no longer detectable as PCIe devices in their own right. This makes the NVMe SSDs inaccessible to any driver other than Intel's RST. Intel has provided very little public documentation of this feature and its operation is usually very poorly described by the UEFI configuration interfaces on supporting machines. This has caused quite a few tech support headaches for machines that enable this feature by default as it is seldom obvious how to put the machine back into a mode where standard NVMe drivers can be used. Worse, some machines such as the Lenovo Yoga 900 and IdeaPad 710 shipped with the chipset locked in RAID mode despite only having a single SSD. After public outcry from would-be Linux users, Lenovo released firmware updates that added the option of using the standard AHCI mode that leaves NVMe devices alone.

(excerpt from Intel 100-series chipset datasheet)

In spite of the limitations and rough edges, Intel's solution does ensure reliable operation in RAID mode, free of interference from third-party drivers. It's certainly less work than the alternative of writing a more general-purpose software RAID and caching system for Windows that can handle a variety of underlying drivers. It also lays the groundwork for adding support for NVMe cache devices to Intel's SRT caching system. Intel's SRT already has caching algorithms tuned for 16GB to 64GB caches in front of hard drives, so now that they have a solution for mediating access to NVMe SSDs it is simple to enable using both features simultaneously. The changes do need to be added to both the RST driver and to the motherboard firmware if booting from a cached volume is to be supported. Backporting and deploying the firmware changes to Skylake motherboards should be possible but is unlikely to happen.

In the years since Intel introduced SRT caching, another form of tiered storage has taken over: TLC NAND SSDs with SLC caching. NAND flash suffers from write times that are much longer than read times, and storing multiple bits per cell requires multiple passes of writes. To alleviate this, most TLC NAND-based SSDs for client PC usage treat a portion of their flash as SLC, storing just one bit per cell instead of three. This SLC is used as a cache to absorb bursts of writes, which are consolidated into TLC NAND when the drive is idle (or when the SLC cache fills up). Even TLC NAND has reasonably high read performance, so there is little need to use SLC to cache read operations. By contrast, Intel's Smart Response Technology has to cache access to hard drives, where both read and write latencies are painfully high. This means SRT has to balance keeping frequently-read data in the cache against making room for a burst of writes. Having a lot of static data hanging around on the cache device will cause significant write amplification to result from any wear leveling, but SRT already reduces the write load by having sequential writes bypass the cache. Taking into account that 3D XPoint memory can handle millions of write operations per cell, even a small 16GB cache device should have no trouble with endurance.

Comments Locked

54 Comments

View All Comments

  • bananaforscale - Friday, December 30, 2016 - link

    For the time being, yes. Wait for a while.
  • Response - Wednesday, December 28, 2016 - link

    16 GB? Is this a joke?

    There is NVDIMM, which is just DRAM with backup of NAND, it has the full speed of DRAM and endurance. Other technologies are needed for large capacities 500GB and more. 16GB we have NVDIMM which is much better and faster.
  • Billy Tallis - Wednesday, December 28, 2016 - link

    The platform changes (both hardware and software) necessary to support Optane NVDIMMs are massive compared to what it takes to support Optane NVMe SSDs. Optane NVDIMMs are coming to the enterprise market and maybe eventually to the consumer market, but first 3D XPoint will have to prove its value in NVMe products that can be brought to market without requiring an overhaul of key CPU subsystems.
  • patrickjp93 - Wednesday, December 28, 2016 - link

    It has roughly 1/4 the speed of RAM when truly swamped. Don't kid yourself,
  • mikegrok - Wednesday, December 28, 2016 - link

    This is awful.

    The software stack for nvme takes 1/20th time to execute for a single transaction compared to ahci. This is where much of the speed boost comes from, to say nothing of the speed boost from having parallel threads of disk transactions managed in hardware instead of juggled through software buffers for the single command queue in ahci.

    What happens if you have a bad windows update that kills the boot drive, such that you need to do an OS reinstall, or have to repair some ntfs corruption? When you boot off of a backup disk, good luck getting the cache to associate with correct ssd, instead of the boot disk. What happens if you are attempting to use whole disk encryption?

    There is a use for optane, but I don't think this is it. Allocate some of the optane to hold the write lock state for a file server, or the row lock state, or hold the current write transaction for a database. optane can commit single word write transactions, without needing to commit a 4k block. optane's sequential speed is equivalent to a samsung 960, but it can commit a one word block much quicker, effectively greatly speeding up a database server.

    I thought that optane could have been a good local backup to RoCE, which provides a 1.2 microsecond transaction time for small transactions. Mellanox is a good keyword when researching RoCE.

    -Michael McMillan
  • haukionkannel - Wednesday, December 28, 2016 - link

    That is why this is first committed to enterprice use. This is minor "customer" class version for optane. The big companies use it differently in data Centers.
  • hahmed330 - Wednesday, December 28, 2016 - link

    Hmmm... I wonder if these dies are giant 600mm^2 two-layer 128Gb (16GB) die that's what I heard from others then colour me not impressed nor for the speed since 2GB/s for a cache is very unimpressive one would be better of using proven and tested pure SLC caches.
  • witeken - Wednesday, December 28, 2016 - link

    They're 227mm².

    http://www.anandtech.com/show/9470/intel-and-micro...
  • jjj - Wednesday, December 28, 2016 - link

    Another misleading teaser to keep the hype up.They tease it now, they show it at Computex and then maybe it ships at the end of the year lol.
  • ex_User - Wednesday, December 28, 2016 - link

    Yeah, coming SOON™...

Log in

Don't have an account? Sign up now