Welcome 2016! And welcome to a new memory tier: 3D XPoint! I hope it is here to stay.
But first a disclaimer: whatever we know about the new technology is sketchy at best. However, as per the marketing material provided by Intel and Micron, it is clear that 3D XPoint is here (sampling in 2016) and is targeted at the gap between DRAM and NAND.
Given the above, and the fact that 3D XPoint is byte-addressable the question arises: is it a replacement for DRAM (10X slower in latency than DRAM, but 10X denser) or a replacement for NAND (1000X faster in latency, but same density). Let’s examine both, since per public announcements it is slated to be available in both DIMM (DDR4 slots) and NVMe (PCI-e attached) form-factors.
NVMe block device
The figure below is what was presented at Oracle OpenWorld 2015. Here we see a comparison between NVMe NAND and NVMe 3D XPoint devices. I would venture out and say that the charts are for a read operation with a Q-depth of 1. The latency is 58 us (NAND) vs. 9 us (3D XPoint). Surprised! Where is the 1000X difference as pointed out in the previous figure?
Let’s break it down. As pointed out in my previous blog, the time to issue an I/O via the NVMe software stack is ~3 us. Assuming that the PCI-e attach is at x4 Gen3 (4GB/sec), it’ll take about 1 us to transfer one 4 KB block. That’s a total of 4 us and the remaining 5 us can be attributed to the controller, it’s interconnect and the 3D XPoint media. The point being that you could replace the 3D XPoint with DRAM and still would be hard pressed to see a material difference! Furthermore, with this media it is crystal clear that software is in the way (3 us to issue an I/O to a media which has a latency in hundreds of ns).
Well, that is not that impressive, but there are a few details missing. Recall that with 3D XPoint, unlike NAND, reads and writes have the same latency. It also has an endurance of 1000X of NAND, which basically means that there is NO need for garbage collection.
Given all lithography constraints, the design of a 3D XPoint SSD device would be simpler and hence faster to market. This provides a long term advantage to 3D XPoint, which gets better over time. From an application’s point of view it also means a very low latency and CONSISTENT performance. In my mind it’s NOT about the IOPS, but rather consistent performance, which is the key to a happy application.
At the end, the question to ask is what is the end user willing to pay for this? What are the alternatives to achieving the same results out of NAND? As pointed out in the previous blog, the root cause of unpredictable performance in NAND is largely attributed to garbage collection. The efficiency of garbage collection is directly related to over provisioning. Given that, it is easy to have a NAND solution which is 100% over-provisioned and totally hides the garbage collection activity in the background. That means that if 3D XPoint’s price per byte is greater than twice NAND; it is going to have real competition! This is NOT to take away from the disruptive technology that is 3D XPoint, but the importance of getting to a product-market-fit which makes for a massive market adoption!
Deconstructing 3D XPoint as a DRAM replacement is easy. It is NOT going to replace DRAM. The reason is simple: it is 10X slower than DRAM. Access to DRAM via a CPU is a synchronous operation, meaning that the CPU stalls during data access, and as we know CPUs are running in GHz, so why would you slow the CPU?
Perhaps there are use cases where the density (up 10X than DRAM) matters; plus half the cost of DDR is an added plus. The details around this are missing and there are hints that perhaps a new DDR-like interface is being designed which is in addition to existing DDR (i.e. a separate 3D XPoint memory controller) which makes sense. As pointed out in the previous section, a PCI-e interface will yield micro-second latency in data transfer to really take advantage of 3D XPoint latencies. This is mere speculation on my part; so I’ll stop here. For sure this could replace NVRAM and the all the complicated circuitry associated with such a solution.
The emergence of 3D XPoint is a very exciting technological advancement. Hats off to the hundreds of engineers and material scientists who made it possible. It will be even more exciting when products appear in the market this year. Here’s hoping that 3D XPoint is here to stay!