You may have heard of Intel Optane Technology<\/a>, but perhaps you aren\u2019t quite sure what that term actually refers to, and whether it is relevant for SQL Server. Unfortunately, Intel Optane is an overloaded marketing term that covers several different product categories and specific products. Intel also has Optane product offerings for the consumer market, which further confuses the issue.<\/font><\/p>\n All of these different products use 3D-XPoint<\/a> (pronounced 3D Cross Point) technology<\/a> in different ways for different purposes. First, we have their consumer products.<\/font><\/p>\n Intel Optane Memory Series<\/a> (Stony Beach, Q1 2017)<\/font><\/p>\n Intel Optane Memory M10 Series<\/a> (Stony Beach, Q1 2018)<\/font><\/p>\n Intel Optane Memory H10 with Solid State Storage<\/a> (Teton Glacier, Q2, 2019)<\/font><\/p>\n Intel Optane SSD 800P Series<\/a> (Brighton Beach, Q1 2018)<\/font><\/p>\n Intel Optane SSD 900P Series<\/a> (Mansion Beach, Q4 2017)<\/font><\/p>\n Intel Optane SSD 905P Series<\/a> (Mansion Beach, Q3 2018)<\/font><\/p>\n<\/blockquote>\n Their consumer products<\/a> include system accelerators that are a cache layer in front of a magnetic HDD or slow SATA NAND SSD. These include the Intel Optane Memory and Intel Optane Memory M10 Series of products. These are useful for their intended purpose, but some systems vendors are making dubious marketing claims about them. You will see new systems that claim to have 24GB of \u201cMemory\u201d that turns out to actually be 16GB of Intel Optane Memory and 8GB of DDR4 DRAM. This is confusing to a typical consumer, and somewhat deceptive in my opinion. Figure 1 shows an example of this.<\/font><\/p>\n Figure 1: New Laptop with 24GB of \u201cMemory\u201d<\/strong><\/font><\/p>\n The Intel Optane Memory H10 with Solid State Storage series are hybrid storage M.2 2280 devices that combine Optane SSD storage as a cache in front of QLC NAND SSD storage on a single M.2 2280 card. They have 256GB, 512GB, or 1TB of usable capacity for storage. These should give<\/a> close to Optane SSD storage performance for less intense workloads at a lower cost than a 100% Optane SSD.<\/font><\/font><\/p>\n There are also pure Optane SSD storage offerings such as the 800P, 900P, and 905P that give the best storage performance from the consumer line. I have a couple of Intel Optane 900P PCIe NVMe storage cards in two of my personal desktop systems, and I have been very impressed with them over the past 18 months. Both the 900P and newer, faster 905P series products are a great choice for an OS drive for a developer or DBA desktop workstation. They also work very well in gaming rigs.<\/font><\/font><\/p>\n Intel also has a number of different data center product lines under the Optane umbrella.<\/font><\/p>\n Intel Optane SSD DC P4800X Series<\/a> (Cold Stream, Q4 2017)<\/font><\/p>\n Intel Optane SSD DC P4801X Series<\/a> (Cold Stream, Q1 2019)<\/font><\/p>\n Intel Optane SSD DC D4800X Series<\/a> (Q2 2019)<\/font><\/p>\n Intel Optane DC Persistent Memory<\/a> (Apache Pass, Q2 2019)<\/font><\/p>\n<\/blockquote>\n <\/p>\n \n Intel has a pyramid diagram that they like to show to explain where these data center products fit in the modern data access hierarchy.<\/font><\/font><\/font><\/font><\/p>\n<\/p>\n <\/font><\/p>\n <\/p>\n Figure 2: Intel Data Access Pyramid<\/strong><\/font><\/p>\n <\/p>\n Here are some more details about Intel\u2019s Optane Data Center products.<\/font><\/p>\n <\/p>\n <\/p>\n <\/font><\/p>\n These are extremely high performance block storage devices that include 375GB, 750GB, and 1.5TB capacities. They are available in HHHL AIC and U.2 15mm form factors. They all have a PCIe 3.0 x4 interface and use the NVMe protocol. Most existing servers will be able to use these in the HHHL AIC form factor in an available PCIe 3.0 x4 expansion slot. It is common to use two of these cards in a Storage Spaces RAID 1 array for redundancy. They are also well-suited for AG nodes.<\/font><\/p>\n These can be used with any version of SQL Server and any relatively recent version of Windows Server. You will want to make sure that you use the Intel Datacenter NVMe driver<\/a> rather than the generic Microsoft NVMe driver with these drives.<\/font><\/p>\n Once you have a couple of these cards, you can use them for pretty much anything you want for SQL Server usage. For example, you can have your tempdb files here, or perhaps your transaction log files. I have had some clients simply move all of their data, log, and tempdb files to Intel Optane SSD DC P4800X arrays. These cards currently run about $4.00-5.00\/GB, which is more expensive than most enterprise NAND flash storage, but not outrageously so.<\/font><\/p>\n They offer excellent random read and write performance at low queue depths, extremely low latency, predictable and steady performance under load, along with greater write endurance than NAND-based flash. They also do not lose any performance as they get full. Here are some articles and reviews of these drives:<\/font><\/p>\n Using Intel Optane Storage for SQL Server<\/a><\/font><\/p>\n The Intel Optane SSD DC P4800X (375GB) Review: Testing 3D XPoint Performance<\/a><\/font><\/p>\n Intel Optane SSD DC P4800X Review<\/a><\/font> <\/p>\n Intel Optane SSD DC P4800X \u2013 3D XPoint Has Landed<\/a><\/font><\/p>\n<\/blockquote>\n These are PCIe NVMe M.2 22110 (110mm) cards that range from 100GB to 375GB in capacity. They have the same technology and main specifications as the larger form factor Intel Optane SSD DC P4800X Series cards. Not as many existing servers have PCIe M.2 slots, but an increasing number<\/a> of new servers do have PCIe M.2 slots. As long as your server supports this form factor, you can use them the same way you would as the Intel Optane SSD DC P4800X Series cards. You can also get M.2 to PCIe expansion slot adapters that will let you use these M.2 cards in older servers.<\/font><\/p>\n These are Optane SSD drives that have dual-port controllers for better redundancy. These were just announced<\/a> at the Intel Data-Centric Innovation Day on April 2, 2019. So far, they are not in the Intel ARK database, and they don\u2019t appear to be readily available yet.<\/font><\/p>\n This is the product line that is newer and less familiar to many people. These are persistent memory modules<\/a> that also use 3D-XPoint technology. They fit in DDR4 memory slots on servers with selected 2nd Generation Intel Xeon Scalable Processors<\/a> (Cascade Lake-SP). They are available in 128GB, 256GB, and 512GB capacities. If you have the requisite processor and supported operating system or hypervisor, you can use Optane DC PM modules in a system along with conventional DDR4 DRAM modules. You can have up to six persistent memory modules per processor, but you have to have at least one DRAM module per processor.<\/font><\/p>\n You can use Intel Optane DC Persistent Memory in one of three modes. These are Memory Mode, APP Direct mode, and Storage over APP Direct mode.<\/font><\/p>\n <\/p>\n Memory Mode is when you use Intel Optane DC Persistent Memory Modules to increase the total size of your memory by using the larger capacity Intel Optane DC Persistent Memory Modules in place of some of your DDR4 DRAM DIMMs. You use some (up to half) of your RAM slots to hold Intel Optane PMEM DIMMs. You put regular DDR4-2933 DRAM in your other memory slots, which is then invisible to the OS. The Intel Optane PMEM is less expensive per GB compared to 128GB DDR4-2933 DIMMs, and it is available in higher capacities than you can get with DDR4 DRAM.<\/font><\/font><\/p>\n In this mode, the DDR4 DRAM is \u201cnear memory\u201d which is used as a write-back cache. The Optane PMEM is the \u201cfar memory\u201d, which actually shows up as the amount of memory visible to the operating system. The ratio of the near\/far memory can vary. A common recommendation from Intel is a 4:1 capacity ratio. So for example, you could have six 128GB PMEM modules and six 32GB DDR4 DRAM modules per socket, which would give you 768GB of capacity from the PMEM, with 192GB of DRAM cache in front of it.<\/font><\/font><\/p>\n No application changes are required to use Memory mode. In this mode, the PMEM is volatile, which means that the data is cleared when you cycle power (just like DRAM).<\/font><\/font><\/p>\n In App Direct Mode, a PMEM-aware application is required. This mode adds a new tier between Memory Mode and block mode storage. It is byte addressable just like memory. With SQL Server 2019 on Linux, you can host any or all of your database files on DAX volumes that are built on Intel Optane DC PMEM modules with App Direct mode. You can also use the new Hybrid Buffer Pool feature in SQL Server 2019 with App Direct mode.<\/font><\/p>\n Storage over App Direct mode uses block mode storage using traditional read\/write instructions that work with existing file systems. You must have an NVDIMM driver for this mode to be supported. This will have higher latency than App Direct mode, but it doesn\u2019t require any application changes. This means that legacy versions of SQL Server should be able to use this mode.<\/font><\/p>\n SQL Server 2019 CTP 2.1 introduced a new feature called Hybrid Buffer Pool<\/a>. This feature allows the database engine to directly access data pages in database data files that are stored on PMEM DAX volume devices using APP Direct Mode.<\/font><\/p>\n In a traditional system without persistent memory, SQL Server caches data pages in the DRAM buffer pool. With Hybrid Buffer Pool, SQL Server skips performing a copy of the page into the DRAM-based portion of the buffer pool, and instead references the page directly on the database file that lives on a PMEM DAX volume device. <\/font><\/p>\n Access to data files in PMEM for Hybrid Buffer Pool is performed using memory-mapped I\/O, also known as enlightenment. This brings performance benefits from avoiding the copy of the page to DRAM, and from skipping the I\/O stack of the operating system to access the page on the persistent memory storage volume. Only clean pages can be referenced directly on a PMEM device. When a page becomes dirty it is kept in DRAM, and then eventually written back to the PMEM device after it has been flushed to persistent storage.<\/font><\/font><\/p>\n Microsoft recommends that you use the largest allocation unit size available for NTFS (2MB in Windows Server 2019) when formatting your PMEM device on Windows and ensure the device has been enabled for DAX (Direct Access). This feature is available on both SQL Server 2019 on Windows and SQL Server 2019 on Linux. With SQL Server 2019 CTP 2.1, you need to enable startup trace flag 809 to enable this feature. <\/font><\/font><\/p>\n <\/p>\n If you use any Intel Optane DC Persistent Memory Modules in your system (in any of the three modes), they run at 2666 MHz, and your regular DDR4-2933 DRAM will also run at the slower 2666 MHz speed. Intel Optane DC PMEM performs better for reads than for writes. Sequential read latency is about 170ns while sequential write latency is about 320ns. Sequential read bandwidth is about 7.6 GB\/sec per DIMM, while sequential write bandwidth is only about 2.3 GB\/sec per DIMM. These figures are all significantly worse than modern DDR4-2933 DRAM. Intel Optane DC PMEM in Memory mode is faster than anything else that is lower in the data retrieval pyramid, but it simply does not compare to modern DRAM performance.<\/font><\/font><\/font><\/p>\n Intel Optane DC PMEM is less expensive per GB compared to 128GB DDR4 DRAM modules, but not compared to lower capacity 32GB DDR4 DRAM modules. The price per GB of Intel Optane DC PMEM goes up as the capacity increases, but not as steeply as with the highest capacity DRAM modules. <\/font><\/font><\/p>\n Here are some relevant articles about Intel Optane products.<\/font><\/p>\n <\/p>\n Intel Optane DC Persistent Memory Module (PMM<\/a>)<\/font><\/p>\n Supermicro SuperServer with Intel Optane DC Persistent Memory First Look Review<\/a><\/font> <\/p>\n Pricing of Intel\u2019s Optane DC Persistent Memory Modules Leaks: From $6.57 Per GB<\/a><\/font><\/p>\nConsumer Products<\/font><\/h2>\n
\n
<\/font><\/p>\n
<\/a><\/font><\/p>\n
<\/font><\/p>\n
<\/font><\/p>\nData Center Products<\/font><\/h2>\n
\n
<\/font><\/p>\n
<\/a><\/font><\/font><\/p>\nIntel Optane SSD DC P4800X Series<\/font><\/h2>\n
<\/font><\/p>\n\n
Intel Optane SSD DC P4801X Series<\/font><\/font><\/h2>\n
<\/font><\/p>\nIntel Optane SSD DC D4800X Series<\/font><\/font><\/h2>\n
<\/font><\/p>\nIntel Optane DC Persistent Memory<\/font><\/font><\/h2>\n
Memory Mode<\/font><\/h3>\n
<\/font><\/p>\nApp Direct Mode<\/font><\/h3>\n
<\/font><\/p>\nStorage over App Direct Mode<\/font><\/h3>\n
<\/font><\/p>\nHybrid Buffer Pool<\/font><\/h3>\n
<\/font><\/p>\nOptane Issues<\/font><\/font><\/h2>\n
\n