Memory – whether volatile or non-volatile, every computing device needs some. From your bedside clock, to your car, microwave, smartwatch, phone and of course computer. Whether it’s to save your data, preferences, or to simply load basic operating code when powered on so the device knows how to work and behave to inputs, it’s necessary to our modern daily lives.
Interestingly all of these devices use the same form of storage first invented between thirty-three and seventy years ago! RAM has been around since the 1940s, PROM the 1950s, SRAM and DRAM the 1960s, EPROM and lesser known bubble memory from the 1970s, with NOR and NAND flash memories being the most recent from the 1980s.
That’s right, the newest NVMe SSDs we love so much today has lineage going back over three decades. Current NAND-based SSDs are great and the new NVMe protocol has helped to unleash this technology’s full potential, but the very nature of NAND flash memory has some innate problems. All of which come down to how data in NAND is stored.
Intel and Micron teamed up in 2012 to research and develop a new type of memory storage that removes the flaws that NAND flash has. What they came up with is something called 3D Xpoint (pronounced “crosspoint”).
NAND flash refresher
Data is stored in NAND in a somewhat complex structure. Each physical NAND chip is logically divided into blocks, each containing pages, which in turn contains words which are strings of several bits. To read a single bit of data, the chip needs to access the correct block, activate the page, target the correct word, activate the entire word then read the desired bit. When it comes to writing, things get more complicated. To write a single bit to a fresh unused NAND chip the drive controller needs to activate the pertinent block, then write the entire page including all words and bits to be contained within at once. This might be a surprise but NAND flash isn’t directly re-writeable. Whole pages must be first erased before the page and anything within it can be written to or updated. So, if you want to overwrite a single bit or word in an already used page the entire page needs to be read into the drive controller’s memory temporarily, the whole page erased, the new data added/altered in the controller’s memory before the page then gets written back in its entirety to the chip.
Therefore, read speeds are always faster than writes on NAND flash, which is why TRIM was introduced early on to effectively self-defrag pages so whole clean pages are available to write without incurring the time penalty of reading to controller memory first. It’s also why write amplification is a problem, with a finite number of erasures per bit before failure; just to re-write a single bit you must use an erasure cycle on all bits within the same page, wasting time and life span on bits you don’t want to touch.
How 3D Xpoint works
Firstly, 3D Xpoint really is 3D, unlike 3D NAND – or V-NAND as Samsung likes to call it – which is just layers of 2D NAND stacked on top of each other allowing for denser packaging. In Xpoint wires form a criss-cross lattice above and below a bulk material, with the top wires of the first layer acting as the bottom wires of the second layer. Increasing capacity simply means adding more layers on top.
The advantage of this criss-cross wiring pattern is that it allows bit-level access. Activate a wire and the associated cross wire above or below to access a single bit of storage. It’s that simple. This is why Xpoint is proving to be more than just mass storage. The simplicity of this design means the controller has far less work to do, greatly reducing response times. With no transistors required per cell Xpoint has roughly four times the density of DRAM, and due to the bit-level access, write amplification is not an issue and is part of the reason why Xpoint has endurance ratings some three times that of NAND at the same capacity. All this means Xpoint sits between DRAM and NAND in performance effectively creating a new tier of storage/memory.
Optane, Intel’s first Xpoint product
Micron will be bringing Xpoint products to market soon too but Intel is the first from the partnership to release a product line, dubbed Optane, using this new technology. There are only three products currently; the 375GB Optane DC P4800X PCIE card, aimed solely at big data centres, and two Optane Memory products of 16GB and 32GB capacities in the M.2 form factor using two PCIE 3.0 lanes.
Intel isn’t letting tech reviewers get their hands on the P4800X yet, so we’ll make do with the consumer grade Optane Memory 32GB.
Much like NAND SSDs in the early years when capacities were too small to be effectively used as a drive on their own, Optane Memory is likewise being marketed as drive caching devices to speed up hard drive usage. This didn’t stop us running tests on the Optane Memory which, when not configured as cache still shows as a normal storage device, to see what the underlying Xpoint technology is capable of on its own.
Unfortunately, Optane Memory caching currently only works with the latest 200 series Intel motherboards paired with a 7th gen Core processor. We also had to update our test lab system’s BIOS to support Optane. On top of that, the caching only works with the operating system drive; there’s no ability to choose which drive it caches.
Setting up Optane Memory as a cache takes a little while but isn’t difficult. First make sure your OS drive is in AHCI mode, boot into Windows and install the Optane driver. The system restarts, sets the motherboard storage controller into a special Intel RST with Optane mode, then reboots into Windows. Part two of the setup formats the Optane drive ready for use, then reboots again. Before hitting the Windows welcome screen again Optane shows an enablement process (though this doesn’t happen with the smaller 16GB version). When that’s done you’re back to the desktop and ready to get going.
Once activated we started to feel the caching influence. The Optane cache requires something to be run or accessed at least once to train it and start caching, so after launching programs or Windows a couple of times the speedup became noticeable. The Seagate 10TB hard drive we paired Optane with exhibited noticeably less disk thrashing when booting into Windows or loading a program. Not SSD levels of performance, but the HDD was clearly getting a helping hand.
The start-up times graph shows what to expect when Optane Memory is paired with a hard drive. Windows booted 22% quicker, and with Anti-Virus and other services loading up in the background after that, Steam wound up auto launching some 28% faster too. Firefox with one hundred tabs open took the same amount of time to load the initial webpage on start (likely CPU limited) but waiting for Firefox to stop accessing the disk afterwards reduced by 14%. File access and game load times were impressively reduced too, with Ashes of the Singularity loading 44% quicker, and waiting for Photoshop to start and load a 120MB 3D file was reduced by a most impressive 65%.
Optane Memory caching clearly works well!
But how does the underlying Xpoint perform compared to NAND? Digging into the graphs, with sequential reads Optane gets beaten simply because this product is hampered by only having two PCIE 3.0 lanes of connectivity versus the RD400 and 950 Pro’s four lanes. Sequential writes beat a heavily-used RD400 drive but gets slaughtered by a relatively unused 950 Pro drive. However, over time as the 950 Pro gets used that stat will decline down to nearer RD400 levels. Optane won’t.
Once we go to random read/writes Optane starts to shine. With access times an order of magnitude faster than NAND, Optane blasts past the competition.
NAND is great in straight line read/writes but once randomness kicks in (say, as the drive gets filled) it slows down; which is why the heavily used RD400 shows some particularly bad write results compared to a near-fresh 950 Pro.
To illustrate this point, while duplicating over 14GB of 750,000 tiny files back onto each drive (so the drive is reading and writing already when the benchmark is run again), Optane remains orders of magnitude more responsive (ms) and performant (MB/s). Optane can multitask where NAND fears to tread.
As a first product, the underlying 3D Xpoint tech is clearly already showing advantages over NAND.
So Optane Memory caching works well in making a HDD-based PC more responsive. However, there are some issues worth mentioning. The Optane driver cannot be uninstalled; Optane can be disabled afterwards but switching your storage controller back to AHCI causes Windows to not boot.
While Optane caching was enabled we noticed the other NVME M.2 drive plugged into the system didn’t show as a device until the controller was reset to AHCI again.
Every third boot or so caused the Optane drive to go through an “enablement” cycle before getting to Windows, adding another two minutes to the boot time, something the 16GB model apparently doesn’t suffer from.
Finally, disabling Optane caching took some thirty minutes waiting for the drivers to finish the process.
Optane Memory works, but with all these negatives it’s very hard to recommend its use. For laptops it’ll be great, paired with a HDD to get higher storage capacity and a more responsive system instead of a highly expensive high capacity NAND SSD. Low-end desktops where money is of concern may also find Optane plus a HDD to be a good compromise.
Outside of those situations it seems best to wait until larger Optane drives come and can be used as regular drives or the software integration gets better. For now, Optane Memory is very promising but this implementation of it is somewhat disappointing.
[relatedYouTubeVideos relation=”postTitle” max=”1″ class=”horizontal center bg-black”]