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

  • Morawka - Wednesday, December 28, 2016 - link

    wow 2 layers, these are super simple.. someone could make these in their lab with little trouble.
  • sharath.naik - Wednesday, December 28, 2016 - link

    What is the point of this? Does not drives already have rams built in with capacitors to handle data loss. Why go with a more expensive solution? I do not thing capacitors cost that much when used with a RAM. If this was used as an SSD then yes it is a logical replacement for nand SSD, but this style of usage seems pointless.
  • Billy Tallis - Wednesday, December 28, 2016 - link

    Consumer SSDs don't have power loss protection. They rely on filesystems to be reasonably crash-tolerant, which is fine for the consumer market, especially when most machines are notebooks with built-in batteries and will cleanly shutdown or hibernate before losing power.

    3D XPoint memory is supposed to be cheaper than DRAM, and thus also cheaper than DRAM+supercaps. But I don't think this is primarily about ensuring data integrity. It's about improving performance beyond that of hard drives, but without raising the overall price per GB up to the level of NAND flash SSDs.
  • Holliday75 - Wednesday, December 28, 2016 - link

    Can this tech replace the cache on RAID controllers? No need for a battery that loves to fail. Power lost during write process. No big deal. Next power up data written as its stored in non-volatile memory.
  • Billy Tallis - Wednesday, December 28, 2016 - link

    I'm not sure if it's quite fast enough for large RAID controllers, and it's not clear whether endurance would be an issue. We don't really know what the per-die raw performance is, and only have hints about what kind of performance can be achieved through a SSD controller.

    RAID write caches for the sake of data integrity rather than performance don't need to be very large, so things like MRAM are also an option.
  • Holliday75 - Thursday, December 29, 2016 - link

    Good points. Thought just popped in my head as I used to work in a data center and hated getting tickets for failed batteries. Had to take the darn server offline just to swap a battery. The batteries used on HP raid controllers liked bulging and failing.
  • Magichands8 - Wednesday, December 28, 2016 - link

    My God, the turd has finally dropped. The mystical and vaporous Optane begins to appear. But WTF is with this 16GB nonsense? Codenamed Stony Beach, eh? It's definitely been a long and rocky road getting it here but what's the Point at 16GB? You could have the fastest memory and interface ever devised but if you release it at 64KB it's worthless. Guess they need some guinea pigs to cut their teeth on. By the time this is out Samsung et. al. should have 10TB NAND SSDs on the market running over PCIE. Of course, they should have had that out 2 years ago and we probably won't actually see it until nigh on 2040 but either way Intel better get its ass in gear.
  • Murloc - Thursday, December 29, 2016 - link

    I suggest you read about memory hierarchy because your thinking is off. There's nothing wrong with it being 16 GB if it really is fast.

    And L1 cache in CPUs is very small so your statement about the fastest memory being useless if it's small is simply wrong.
  • Magichands8 - Thursday, December 29, 2016 - link

    Unless of course you have more than 16GB to move. Which was the point. And while it's fascinating that you want to randomly talk about CPU caches that's only another reminder that you didn't get my point.
  • boeush - Wednesday, December 28, 2016 - link

    I can see only one potential application for n consumer space, at least as long as capacity remains low and cost per GB high.

    And that application would be in mobile devices to enable fast hybernate/resume with almost zero power use while hybernating - as compared to any sleep state that still has to power the RAM...

Log in

Don't have an account? Sign up now