Technology 3D XPoint
Let's start with a brief information on the technology itself 3D XPoint (read as "three-di cross-point"). Immediately I apologize for – we do not disclose detailed information about the technology at the moment. In addition, the focus of the reviews will be on the final products, rather than on the technology itself.
First, although the technology is a joint development of Intel and Micron, the implementation of technology in the form of products is in the separate management of each of the vendors. So, all I'm going to talk about products based on 3D XPoint is relevant only to Intel products.
Secondly, 3D XPoint is not NAND, it's not NOR, it's not DRAM, it's completely Another beast. Without disclosing the details of the physical implementation of memory, I will describe the key characteristics, as well as differences between 3D XPoint from NAND and DRAM.
- Unlike NAND, there is no binding of write operations to pages and binding of erase operations to Blocks. C 3D XPoint access data at the physical level, we can at the level of a single cell. In addition, we do not need to delete data before the write operation – we can overwrite the data, which allows us to get rid of the read-modify-write operations and greatly simplify the garbage collection. This results in a reduction in latency and an increase in the number of I / O operations per second (IOPS) performed; In addition to this, the write operations are performed almost as fast as the read operations. Finally, the endurance of 3D XPoint memory is much higher compared to NAND (such an effect as the leakage of electrons from cells does not exist here). To sum it up, 3D XPoint is faster and more wear-resistant than NAND. However, it would be unfair not to note the lack of 3D XPoint – this is the cost of production, which at the moment is noticeably higher compared to the cost of 3D NAND production.
- Unlike DRAM, 3D XPoint allows you to create devices with a higher density of data storage, is a non-volatile memory type and, at the same time, cheaper. Of the disadvantages in this comparison – 3D XPoint as a memory implementation technology is somewhat slower than DRAM (note, we compare technologies, and not products based on these technologies).
All of the above concerns 3D XPoint as such – this, however, is less important for users than the characteristics of specific devices based on 3D XPoint. Thus, our conversation goes into the channel description of Intel Optane products based on this technology. Let's start with a description of what is Intel Optane. Briefly, this is the brand for all Intel products based on 3D XPoint technology. If you explain in more detail, then Intel takes the "waffles" 3D XPoint, conducts its own testing and selection of memory chips, independently develops the design of the final device – creates an SSD controller, wiring of textolite, firmware; Tests and validates the final device, puts it on the market – that's all hidden under the words "Intel Optane".
At the moment, two fundamentally different products have been officially announced and launched on the market: Intel Optane Memory – for client use models – and Intel® Optane SSD DC P4800X – for server use. In this article we will take a closer look at the client product, the server will be the topic of the next review.
So, Intel Optane Memory. The first thing to understand about this product – despite the name, it's not DRAM, but NVMe SSD in the form factor M.2 2280-S3-B-M.
The top view – under the label 1 chip 3D XPoint (this version is 16GB, on 32GB there are 2 chips 3D XPoint – platforms for the second chip are visible):
The module is one-sided, so The reverse side is empty:
The device complies with the NVM Express 1.1 specification. At the moment, 16GB capacities are released to the market (one 16GB 3D XPoint memory chip is used) and 32GB (two 3D XPoint memory chips with 16GB each are used). Of the interesting design details:
- the controller is the internal development of Intel
- the design does not use DRAM
- only 2 lines of PCIe gen3 are used, and not 4 lines, as many might expect
- claimed wear resistance – 100GB of recorded data every day for 5 years
Now about the performance
(The performance of the 32GB version is higher due to the use of 2 XPoint memory chips against a single chip in the 16GB version)
It would seem that performance in terms of bandwidth and IOPS is not impressive – however, the dog is not buried here at all. The thing is that these performance data were measured at queue depth of 4 – unlike other SSDs, which are usually measured with a queue depth of 32 and higher. It is on the shallow lines that the superiority of Optane is most noticeable. For clarity, here's a graph of the performance of different types of devices at different depths of the queue *:
At the same time, as our internal tests show, the vast majority of tasks that a common user at home Or in the office, have a queue depth from 1 to 4 (for more details see below), and SSD specifications are written using loads with a queue depth of 32 (for SATA) and more (for NVMe). The difference is very clear.
However, Intel does not position the use of Optane Memory as an ordinary SSD for obvious reasons – the capacity of the devices will not suffice for user tasks (with the exception of some interesting options, such as small but fast and reliable Boot disk for Linux, or scratch disk for Adobe Photoshop, or a small but fast cache along with Intel Cache Acceleration Software, or an interesting solution described here). The whole strength of the Intel marketing device is aimed at promoting a new acceleration technology (roughly speaking – caching, but this is not an accurate definition) for a slow SATA drive (be it a hard drive, solid-state drive or even some hybrid models) with a fast Optane Memory module.
This usage model imposes restrictions on supported hardware and OS:
- Intel Core processor of the 7th generation or newer
- Chipset Intel 200 Series or newer (full list here)
- BIOS, in which the UEFI-driver RST version 15.5 or newer (15.7 for the X299 chipset series) is integrated. Yes, legacy-mode BIOS is not supported – for Optane Memory is required to download in UEFI mode
- Windows 10 64-bit
- Intel Rapid Storage Technology Driver 15.5 or later
- Bootable SATA-drive (which it will accelerate Optane Memory). Only GPT markup is supported.
- 5MB of free space at the end of the SATA drive – this is needed for RST metadata
It's like this:
- We are convinced that the motherboard BIOS supports Optane (see above, now all "Optane Memory Ready" boards on 200 series of chipsets are shipped with BIOS , Which supports Optane Memory, but on the market you can still find boards from the previous installments – they will need to update the BIOS).
And yes, Intel has done a tremendous job with the board manufacturers – all the boards that support Optane Memory, have on the box such a nameplate:
- It takes a system with a SATA-drive on which Windows 10 64-bit is installed (the drive must be connected to a SATA port that is split from the Intel AHCI controller in the chipset, otherwise the RST will not see it), the markup must be GPT.
- The Optane Memory module is connected (the drive must be inserted into the M.2 slot with the PCIe lines from the chipset supporting the "remapping" of the PCIe lines to the Intel AHCI controller built into the chipset)
- The utility is downloaded from here (you can select the standard RST utility that will allow you to manage both Optane Memory configurations and normal RST arrays, or a simplified version of the utility that only allows you to turn Optane Memory configurations on and off and see statistics.)
- A utility is installed, it also automatically changes the SATA mode in the BIOS to RST / Optane mode (this requires one reboot of the system), it also includes acceleration with Optane Memory (this requires a second reboot of the system). As a result, instead of 2 disk devices, the system will see only one – the so-called. Optane Volume.
- PROFIT! Namely:
- faster boot of the operating system
- The acceleration of most I / O operations (in fact – caching, but smart enough algorithms).
The principle of work
Also, let's talk a little about how this works.
First, when Optane Memory is activated, the RST driver will transfer the files needed to boot the OS, as well as the file table for the fast Optane Memory drive. The key here is that it will transfer, not copy. The mechanics of the RST driver are such that not all the data in the cache on a fast device will necessarily be copied to a slow device. This increases the overall performance of the system and, in addition, solves the problem of data synchronization. However, as can be understood, a physical failure of Optane Memory is very likely to result in loss of data access on the SATA disk. Due to the fact that data transfer occurs immediately at the time of Optane Memory activation, the first system boot will be faster than before Optane Memory (this is especially noticeable if the hard drive was accelerated than the SATA SSD – however, in the latter case it costs Expect to increase the performance of the storage system.)
Secondly, while the RST system is running, the driver will continuously generate caching. And here there is one important difference between Optane Memory modules of different capacities: on a 16GB device, only block level caching is supported, on a 32GB device, block level caching and file leveling (both work simultaneously). In the case of block caching, the decision to cache a block occurs instantly at the time of the I / O request. In the case of file caching, the driver monitors the frequency of access to files and puts it all in a special table, which then (at the time of system downtime or according to the user's schedule) is used to determine which files are left in the cache, which are deleted and which are added.
Both types of caching use rather clever algorithms for caching decision making – I can not describe them deeply, but for general understanding I note that, for example, video files are not cached (yes, the driver looks at File extension), the size of the file is taken into account, the type of load is determined – caching preferences are given to random access rather than sequential, which makes sense due to extremely slow operation of hard disks in random access operations, etc. On the Internet, I met some negative comments on the topic that "the cache will be immediately overwritten with data," "16GB capacity is not enough for anything" and the like – usually reviews from people who have never tested Optane Memory. I have not yet heard negative feedback about the performance of this solution from any of our partners I work with.
A few very important points.
- If the system is enabled with acceleration Using the RST driver and Optane Memory, you need to connect the SATA drive to another system, then you either need to transfer the whole configuration (SATA + Optane Memory device, while making sure that the new system supports Optane Memory), or pre-switch the acceleration (this is done by pressing One button in the utility – while in nt off data from the cache migrated to SATA-device metadata RST will be removed, Optane Memory device will be cleared.)
- Disk cloning does not work when Acceleration is enabled with Optane Memory. No utility can work with RST metadata. Direct cloning of the section with metadata is not enough – the fact is that the metadata are tied to the serial numbers Optane Memory and SATA-device. With backups at the level of the file system, there are no difficulties.
Why this is needed
Now it's time to talk more about what all this is all about. Let's start with a more detailed analysis of the loads experienced by ordinary PC users. Even before the completion of the Optane Memory product development, within the framework of the Intel Product Improvement Program my colleagues conducted a study on what ordinary users do with the computer at home and at work. Results – the number of actions of different types made by users (averaged data for 1 day of using the PC):
All these events are closely related to the performance of the system disk, and, as a rule, they require an accidental Access to data, with which hard drives cope extremely badly. Thus, the use of Optane Memory can significantly speed up the execution of each of the above actions.
However, you ask me why should I buy Optane Memory to speed up the hard drive, if I can buy a 128GB SATA SSD for the same money, On it OS and key applications, and for other data just use the hard drive? Here, on the one hand, the question of convenience – if you have at least some basic skills to be able to choose where to install the OS / applications (I suspect that all readers of the GT fall into this category, however, I can assure you that, for example, My parents, like most PC users, are not capable of doing this), and you will not be lazy to do this for every application (especially problematic for games – with current requirements for disk space, 128GB will be hacked under OS and 1-2 games), then From this point of view, the hybrid configuration of SSD + HDD can be for Al convenient.
However, keep in mind that with Optane Memory, no manual transfer of data is required – as soon as you stop using one application and start using more actively, the necessary data will be added to the cache pretty quickly. On the other hand, let's recall the graph I gave above – the performance depending on the depth of the queue. In small queues, data access latencies on Optane Memory are much lower compared to SATA SSDs. Inside Intel, we measured the depth of the queue used by different applications – these are the results:
The depth of the queue when using applications:
Depth of queue at application start:
The distribution of the queue depth during a typical corporate working day User (measured on Intel employees holding different positions in the company):
Thus, the distribution Separation of the depth of the queue for different user loads:
And we've already seen how much better Optane Memory manages to work on shallow lines.
Comparing the system's performance with HDD against the same system with HDD + Optane Memory:
Another interesting comparison is the same test, but in the system without Optane Memory it is 2 times larger RAM:
And, in fact, this is a very valid comparison. Although some kinds of loads require a large amount of RAM, the lion's share of the requirements for large amounts of memory does not. Thus, for many users it may make sense to put 4 GB of memory instead of 8 GB, and save the money saved in the acceleration of the storage system.
To summarize, I remind you that Optane Memory can be used as a stand-alone SSD, but it's not the main usage model. All magic happens when it is used as an accelerator for a slow hard drive (or even a SATA SSD) – a relatively small investment of money can speed up the system's performance several times on most user loads. This is achieved due to both hardware (Optane Memory has noticeably less access latency than other SSDs on the market, performance in small queues is much higher than alternative solutions) and software – the RST driver uses rather advanced logic for caching operations (and in This difference from the previous technology – Intel Smart Response Technology). This makes the current implementation different from all those solutions for caching / accelerating hard disks that have been vyspukalis to the market earlier, including us.
I'm very interested to know the opinion about the product and the solution as a whole from the comments – however, I would like to avoid Negativity in opinions due to a lack of understanding of the work of the decision or lack of experience in its use. Если есть сомнения – лучше спросите, прежде чем пускаться в критику.
P.S. в следующей статье мы разберем серверный продукт на базе технологии 3D XPoint — Intel Optane SSD DC P4800X Series – вкупе с программным решением Intel Memory Drive Technology.
* Все тесты, указанные в этой статье, были проведены внутри Intel. Все тесты с Optane Memory были проведены на процессорах Intel Core 7-го поколения, тесты на глубину очереди с использованием процессора Intel Core 6-го поколения. Конфигурация системы, использованной для тестов: