3D XPoint (pronounced "3D crosspoint"), is a relatively new persistent memory technology that was first unveiled by Micron Technology and Intel in July 2015. At its introduction it was touted as the first new memory tier to be launched since the introduction of NAND (flash) memory in 1989.
What makes Micron and Intel 3D XPoint interesting is that it offers the following attributes:
- Its performance is higher than NAND, though not as high as DRAM (used to provide RAM in computer systems)
- It costs less than DRAM but more than NAND
- It offers higher storage density than NAND
- It offers persistent memory, unlike DRAM
These attributes mean that there are several possible use cased for 3D XPoint. These include:
- High performance 3D XPoint SSDs which are faster than conventional NAND-based SSDs
- Low cost DRAM substitute or supplement
Micron and Intel 3D XPoint Technology
3D XPoint storage is made up of a series of parallel wires called wordlines, with another series of parallel wires called bitlines beneath which run perpendicular to the ones above. In between the points where wordlines and bitlines cross (hence the "3D crosspoint" name) sit memory cells with accompanying selectors which can set the memory cells to store a 1 or a 0.
Any arbitrary memory cell can be read or written to by applying a specific current to the wordline and bitline which intersect at that memory cell, and wordline and bitlines can be stacked to increase storage density.
As well as offering higher performance than NAND, Intel claims that 3D XPoint is not "significantly" impacted by the number of writes it is subjected to. In other words, 3D XPoint should not wear out in the way that NAND does, and therefore it should not be necessary for storage controllers to carry out functions such as wear levelling to ensure that parts of a chunk of storage wear out prematurely.
One reason that conventional DRAM is more expensive than 3D XPoint is that it requires a relatively costly and bulky transistor at each memory cell to address it. Since 3D XPoint technology does not use transistors it can be produced at less cost and it can offer much higher storage density.
With 3D XPoint technology, the crosswork wordline architecture enables cells to be addressed individually.
Speed and performance
When 3D XPoint was first unveiled, one of its propositions was that it offered performance about one thousand times faster than existing NAND storage.
Unfortunately, that does not mean that Intel 3D XPoint SSDs offer performance that is one thousand times faster than NAND SSDs. In fact they are often only three or four times faster, and in some applications they are barely faster than conventional SSDs at all. Even accounting for future improvements, they are unlikely to get much more than an order of magnitude faster ever.
To understand why, it's important to realize that the performance of an SSD is only partially affected by the speed of the underlying storage medium: NAND or 3D XPoint. Other factors which have a big impact on the performance of an SSD include:
* Delays from the host computer's PCIe or NVMe port to the processor pins
* Software delays: the amount of time the operating system's I/O stack requires to perform a disk read operation
Ultimately it comes down to bottlenecks, and if the actual storage medium is only one of the bottlenecks, then removing that bottleneck will only result in a small change in performance.
What is Intel Optane memory?
There is a great deal of confusion between the term "3D XPoint," which refers to the storage medium developed jointly by Intel and Micron, and "Intel Optane," which is the trade mark that is used to market Intel 3D XPoint-based products.
Intel Optane actually refers to more than just Intel 3D XPoint itself. It is the combination of the 3D XPoint memory medium, Intel's memory and storage controllers, its interconnect IP, and its proprietary software in Intel 3D XPoint-based products such as the 3D XPoint-based Intel Optane SSD 905P
Intel Optane is similar in function to a set of technologies called QuantX developed by Micron, upon which Micron plans to base its own 3D XPoint based products.
Intel Optane Release Dates
* SSDs - The first Intel Optane product was the DC P4800X PCIe card, which debuted in March 2017. Since then the company has launched a number of other Intel Optane SSDs, including devices that use NVMe interfaces and ones with a standard 2.5-inch SSD form factor.
* Apache Pass - More recently, the company has offered a glimpse of its Intel Optane DC Persistent Memory DIMMs, which were previously known under the codename Apache Pass. These use the DDR4 memory bus and are designed to be installed as a substitute for standard DRAM modules and which will be available in 128 GB, 256 GB, and 512 GB versions. These are being sampled now, and will be available to selected customers on a limited basis later this year. Intel says that they will be broadly available in 2019.
Intel Optane and 3D XPoint RAM
When 3D XPoint was first announced, it was the possibility of producing high performance SSDs that received the most attention. But with the promise of persistent memory DIMMs in the pipeline, attention is being switched to this type of usage.
The obvious question to ask is why anyone would want to use comparatively slow 3D XPoint as a replacement for lightning fast DRAM and the answer, perhaps counter-intuitively, is to increase performance.
The argument goes like this: If you have $100 to spend to increase the performance of a server, then you could buy some more fast DRAM, or some slower 3D XPoint. But since 3D XPoint costs less, you can buy more Gigabytes of 3D XPoint memory for $100 than Gigabytes of DRAM. So even though 3D XPoint is slower than DRAM, choosing the 3D XPoint will in the right circumstances capture more data or instructions that would otherwise require a much slower SSD (or even HDD) access. In that case, the extra 3D XPoint will make the system run faster than extra DRAM.
Extending System Memory with Intel Optane today
Those hoping to use 3D XPoint as system memory (RAM) directly will have to wait for the availability of Optane DC Persistent Memory DIMMs (Apache Pass) sometime next year. In the meantime there are a couple of workarounds. These include:
* Intel Memory Drive Technology – This software integrates Intel Optane SSD storage capacity into a system's memory subsystem so that it appears as a single pool of DRAM to the OS and applications running on the OS. Intel claims that the software intelligently places data in the pool to maximize performance, and says that it can have a positive effect on a system's performance when real DRAM makes up as little as 10 per cent of the total memory pool.
* And, Intel Memory Drive Technology can be used in two scenarios:
- when there is a need to reduce the amount of DRAM used in a system, to reduce overall memory costs
- when there is a need to grow the overall memory pool of a system without the full expense of purchasing additional DRAM
For the moment, Intel Memory Drive Technology can only be used with Intel's Xeon processors and is not backward compatible with older server processors.
Use Cases for 3D XPoint
Deciding whether to use 3D XPoint for a given server or application comes down to a cost/benefit analysis: is it worth paying more for 3D XPoint SSDs that offer higher performance, or could the addition of additional system memory in the form of 3D XPoint DIMMS provide a bigger performance boost than the addition of additional DRAM at similar cost – and is the performance boost worth the extra expenditure?
The exact use case scenarios will change as the price and performance characteristics of 3D XPoint change (for example, the storage medium is likely to drop in price as more fabrication plants come on stream.)
But initially at least, likely applications include:
- Data analysis/data mining
- Data warehousing
- Online transaction processing
- Virtualized infrastructure
- Graph analytics
One particularly interesting use of 3D XPoint may be in the area of large in-memory databases which currently rely on large amounts of fast but expensive DRAM. Using 3D XPoint instead of, or alongside, DRAM will make it much less costly to build these systems, or make building larger systems more affordable, because of the lower cost of 3D XPoint compared to DRAM.
An interesting additional advantage of using a 3D XPoint-based in-memory database stems from the fact that, unlike DRAM, 3D XPoint is persistent memory. That means there is less chance of corruption if any parts of the system fail, and it also means that the entire system can be restarted and operational again much more quickly, because huge volumes of data don't have to be rewritten to DRAM memory from slower SSD or HDD storage before it can start working again.