Is Intel Optane RAM or storage

Can Intel Optane Memory Compensate for Less RAM?

In this In context (budget consumer gear), Optane clearly only refers to a small / fast SSD connected to NVMe that uses 3D XPoint memory (instead of NAND flash) and therefore offers a very high level of write security. (So ​​it doesn't wear out when used as swap space.)

This will still be annoying for many workloads as it takes a page fault and many microseconds to access, as opposed to ~ 70 nanoseconds for a DRAM (cache miss) access . It is not mapped directly to the memory bus of the CPU. In addition, the execution can be out of order / HW prefetch / other Memory parallelism keeps ~ 10 cache faults per physical core in flight, but a page fault is serialized . No useful work can be done (on this thread) while the operating system is handling a page fault. Therefore, there is no way for OoO Exec to hide the latency for hard page errors. (But even 70 ns is too long to hide completely. Even so, the fact that multiple mistakes were made in flight to different lines goes a long way in easing the burden on some workloads.)


Using an extremely small amount of RAM and depending on a fast SSD for paging space / paging file is not the only use case for this type of Optane. (And probably not even a good use case). As described at https://www.tweaktown.com/articles/8119/intel-optane-memory-matters/index.html, it mainly serves as a transparent cache for a magnetic hard drive. I think Intel provides Windows drivers to make this possible. You can buy SATA hard drives with rotating magnetic storage and built-in flash as a buffer / cache for parts of the hard drive that are frequently accessed. Optane HW + drivers can do this for any hard drive.

Optane NVMe apparently has very good random read performance with shallow queue depth (wait for one read to complete before starting another won't help). So it should be great for speeding up program startup times and system startup.

Not particularly surprising for large contiguous writes on large files. Hopefully the driver software can bypass the Optane cache and switch directly to the magnetic disk below. Intel's main Optane page contains links to https://www.intel.ca/content/www/ca/en/products/memory-storage/optane-memory/optane-16gb-m-2-80mm.html, which their 16 GB M.2 Optane has a sequential read of 900 MB / s but only a sequential write of 145 MB / s. The 32 GB version is faster with 1350 MB / s read and 290 MB / s write speed . But even that is not what Optane does best. The sequential and random read IOPS are both 240,000 IOPS with a read latency of 7 µs.


Intel has something like IMDT (Intel Memory Drive Technology)This is a hypervisor that creates the illusion of a larger main memory address space for the operating system. Some pages are allocated to the actual DRAM main memory, while others are allocated to SSD storage. When a page associated with the SSD is accessed, a page fault occurs which is caught by IMDT and causes the page to be moved from the SSD to main memory (which may cause a page to be moved from memory to the SSD becomes). IMDT tries to preload pages into the DRAM to reduce the lower bandwidth and latency of the SSD. An attempt is also made to keep the hottest pages in main memory so that they can be accessed with minimal effort (the only drawback can be caused by the extra layer of paging due to virtualization.) Most of the time, the operating system does not notice this allocation and works normally . This type of storage system is known as software-defined memory (SDM). The nice document "Evaluation of Intel Memory Drive Technology Performance for Scientific Applications" provides a performance evaluation of IMDT and compares it to a system with the same amount of DRAM main memory. I haven't read the paper thoroughly, but it appears that IMDT can migrate pages between NUMA nodes to bring them closer to the node where they are most often needed.

However, IMDT is only supported on server-grade Intel processors. It is designed to create low-cost, low-power servers with potentially little impact on performance.

http://www.lmdb.tech/bench/optanessd/imdt.html has some benchmarks with an Optane DC P4800X SSD. (The high-end version for data centers, not for end users. Much higher permanent writing ability.)

I haven't looked at this yet, so I'm not sure if it even matters how Windows can benefit from an Optane consumer SSD.


The brand name Optane is also used (somewhat confusingly) for a much more interesting exotic thing:

Non-volatile 3D XPoint DIMMs , also known as "Optane DC Persistent Memory". https://www.anandtech.com/show/12828/intel-launches-optane-dimms-up-to-512gb-apache-pass-is-here. Apache Pass is the name of the first generation Optane DC PM. See this information about future generations.

Intel has its own mostly marketing page for it here, with some links to tech details. The "DC" apparently stands for Data-Centric.

This is non-volatile memory that is plugged into a DDR4 DIMM slot and appears as actual physical memory. Apparently it is only fully supported by the next generation Xeons (not the current Skylake-X aka Skylake Scalable Processor series).

There are other types of NVDIMMs, e.g. B. battery-backed regular DRAMs (optionally with flash to save the data for a long-term shutdown so that you only need a super capacitor instead of a chemical battery). https://en.wikipedia.org/wiki/NVDIMM contains some details.

https://www.electronicdesign.com/industrial-automation/why-are-nvdimms-suddenly-hot has some more general information about NVDIMMs (and their JEDEC standardization) and how OS + applications can work together to allow applications to work directly with them can communicate a memory region where the NV memory is allocated to ensure the commit order, etc.). The most important point is that they are actually blurring the line between RAM and storage (in terms of computer architecture, not in terms of rigorously marketing the fraudulent laptop ad you saw that claims 4 + 16GB).


The operating system can have a process map this non-volatile physical memory in its own virtual address space so that it can be used without system calls directly can access the memory and save it under memory addresses so that the CPU hardware can no longer get out of the memory. Job execution with pending read / write operations . (There are software libraries available that developers can use to take advantage of these benefits, including the ability to ensure that data is actually being written to persistent storage.

This assignment can even be written back so that the usage of the data takes full advantage of the L3 / L2 / L1d cache until it is time to write it back (if changed). For mostly readable data, these Kind of Optane can rightly be called 4 + 16 GB of RAM. (Of course, the current data center use case would be for Optane NVDIMMs much use larger DIMMs such as 512 GB.)

(It's not like an ED file on a regular hard drive where you just map the operating system's page cache for the file, and the operating system does the background I / O to share bad RAM pages with the storage device to synchronize.)

It is imperative to ensure that some data reached NV storage before others (to enable recovery from a crash such as a file system or database journal). For system calls, use POSIX or here. But since the application has really mapped the memory, this is where library function calls come into play.

In x86 asm we access memory with normal loads / memories, but it is important when data is actually written back to the NVDIMM (where it is protected from power failure), not when it is for other cores or for cache-coherent DMA are visible (once it has been written to the L1d cache from the memory buffer), the normal x86 memory ordering rules don't completely take care of everything. We need special instructions to clear selected cache lines from the CPU's cache. (For use by the NV storage libraries.)

The asm statement has been around for a while, but NV storage is a major reason Intel added Skylake (although there are other use cases) and added Ice Lake (write-back without eviction).

Dan Luu wrote an interesting article some time ago about the advantages of eliminating the operating system for memory access, in which he detailed Intel's plans at this point for / and their memory order semantics. It was written when Intel was planning to require an instruction called (Persistent Commit) as part of this process, but Intel later decided to remove that instruction: Discarding the PCOMMIT instruction has some interesting information about why and how things work under the hood.

(This topic has left the details of x86 low-level NV storage far behind. I should post most of this section elsewhere, but I think it does.)


There are also Optane DC SSDs as PCIe x4 cards or 2.5 " . The 750 GB version offers sequential read with up to 2500 MB / s, sequential write with 2200 MB / s and random read or write with 550,000 IOPS. The read latency is slightly worse than the M.2 NVMe at 10us.

This is what you want if you are looking for a database server or something (if you can't use NVDIMM), but it wouldn't make your 4GB laptop much faster (for most typical use cases) than the 16GB Optane it comes with sell it. Swap space thrashing often results in many dependent reads because a page must be read and accessed before the page fault code can continue with the next steps. When memory is very low, the operating system does not have spare pages to aggressively preload into, so expect the shallow queue depths for which Optane is consumer-optimized. (Short waiting time.)


The Intel Optane SSD offers a good compromise between performance, power consumption and cost. SSDs generally do not consume any power when they are not being accessed. In contrast, static power consumption (mainly due to refreshment) is significant in DRAM chips. The amount of DRAM in a system should therefore ideally match the workload of the typical workload. The system you have purchased was developed for a typical workload that requires a maximum of 4 GB of main memory. If the system has 8 GB of main memory instead, it consumes more power unnecessarily, which shortens battery life. With the Optane SSD, however, you can occasionally run workloads that require a little more memory with minimal performance impact (compared to NAND-based SSDs or HDDs).

The DRAM memory currently costs around USD 4.5 USD per 1 GB, while the Intel Optane SSD costs around USD 2 USD per 1 GB. A 16 GB Optane SSD is more expensive than a 4 GB DRAM module, but cheaper than an 8 GB DRAM module. So if you take out the Optane SSD and add 4GB more storage, you get a cheaper system that is faster on average for typical workloads with more than 4GB of memory. However, page fault handling, page prefetching, and page swapping from disk are slower. Because of this, the 8 GB system is likely to be slower than the 4 GB DRAM + 16 GB Optane SSD system when the typical workload is less than (or approximately) 4 GB of memory.

Your laptop is great if you just want to use it for browsing the web or editing text. The Optane SSD aids in booting, provides quick access to the most frequently accessed files, and can be used as additional secondary storage. So even though you pay more than 4 GB of DRAM for 16 GB Optane SSD, you get certain unique benefits in return. Some of the other applications you mentioned, such as: B. RStudio, however, require at least 4 GB of RAM. If you typically use a browser and RStudio (and possibly other apps) at the same time, you should purchase a system with at least 8 GB of memory. However, Optane SSD is still available.