build2016 - p466 - using non-volatile memory (nvdimm-n) as block storage in windows server 2016
TRANSCRIPT
![Page 1: Build2016 - P466 - Using Non-volatile Memory (NVDIMM-N) as Block Storage in Windows Server 2016](https://reader035.vdocuments.mx/reader035/viewer/2022062822/5882b67c1a28abd75a8b7481/html5/thumbnails/1.jpg)
#Build2016
Using non-volatile memory (NVDIMM-N) as block storage in Windows Server 2016Tobias KlimaProgram Manager
![Page 2: Build2016 - P466 - Using Non-volatile Memory (NVDIMM-N) as Block Storage in Windows Server 2016](https://reader035.vdocuments.mx/reader035/viewer/2022062822/5882b67c1a28abd75a8b7481/html5/thumbnails/2.jpg)
Use Case Example – Fast Transactions in SQL Server
ProblemDB Transactions gated by log commit speedThe faster the log, the more DB updates possible
Opportunity• Accelerate Log Commits• Accelerate DB• Provide better customer SLAs
Approach• Log on SCM – Persistent Medium on Memory
Bus• NVDIMM-N supported in WS 2016• NVDIMM-N based on DDR4 RAM + Flash for
backup• Exposes Block Interface (like a Disk)
SCM
TraditionalStorage
PCIe
CPU
SATASAS
NVDIMM-N
NVMeAHCIHBA
Memory
![Page 3: Build2016 - P466 - Using Non-volatile Memory (NVDIMM-N) as Block Storage in Windows Server 2016](https://reader035.vdocuments.mx/reader035/viewer/2022062822/5882b67c1a28abd75a8b7481/html5/thumbnails/3.jpg)
Storage technology has made significant strides (capacity, latency, throughput).
Technology Evolution & Old Assumptions
HDD (SATA/SAS)
SSD (SATA/SAS)
PCIe SSD (AHCI/NVMe)
NVDIMM-N (SCM)
Capacity: LargeLatency: High
Throughput: Low
Capacity: MediumLatency: Medium
Throughput: Medium
Capacity: MediumLatency: Low
Throughput: High
Capacity: SmallLatency: Very LowThroughput: Very
High
SCM Performance breaks assumptions about “slow storage” in today’s software
For the highest performance, use byte-addressability (app changes)
For early adoption and easy use, utilize it as a block device (no app changes)
![Page 4: Build2016 - P466 - Using Non-volatile Memory (NVDIMM-N) as Block Storage in Windows Server 2016](https://reader035.vdocuments.mx/reader035/viewer/2022062822/5882b67c1a28abd75a8b7481/html5/thumbnails/4.jpg)
Block Mode Architecture (In Software)The IdeaBlock Interface on top of the memory ranges of SCM device
Facts• Compatible with existing
applications (ReadFile, WriteFile)• Extremely fast “disk” – <10us for
4k I/O• Disk Filter Drivers may not work
(e.g. Disk Accelerometer, low-level “accelerators”)
File System
SCM Disk Driver
Load/Store Operations
SCM Bus Driver
Enumerates SCM Device
User Mode
Kernel Mode
ApplicationStandard File API
ApplicationStandard Raw Disk
Access
SCM
![Page 5: Build2016 - P466 - Using Non-volatile Memory (NVDIMM-N) as Block Storage in Windows Server 2016](https://reader035.vdocuments.mx/reader035/viewer/2022062822/5882b67c1a28abd75a8b7481/html5/thumbnails/5.jpg)
NVDIMM-N Block Mode PerformanceTobias Klima
Hardware Provided By:
![Page 6: Build2016 - P466 - Using Non-volatile Memory (NVDIMM-N) as Block Storage in Windows Server 2016](https://reader035.vdocuments.mx/reader035/viewer/2022062822/5882b67c1a28abd75a8b7481/html5/thumbnails/6.jpg)
![Page 7: Build2016 - P466 - Using Non-volatile Memory (NVDIMM-N) as Block Storage in Windows Server 2016](https://reader035.vdocuments.mx/reader035/viewer/2022062822/5882b67c1a28abd75a8b7481/html5/thumbnails/7.jpg)
Device ManagementLike a Disk• Exposed in OS as a new disk device• Re-uses existing PowerShell cmdlets:• Get-PhysicalDisk• Get-StorageReliabilityCounter
• Enabled by Microsoft-defined _DSM specification (MSDN)• Useable in Storage Spaces for striping, mirroring, write-back caching
![Page 8: Build2016 - P466 - Using Non-volatile Memory (NVDIMM-N) as Block Storage in Windows Server 2016](https://reader035.vdocuments.mx/reader035/viewer/2022062822/5882b67c1a28abd75a8b7481/html5/thumbnails/8.jpg)
• How would you change your app, if you could do fast, reliable, synchronous I/O?
• What data (structures) do your apps use frequently? Which need the lowest possible access latencies?
• Re-visit Build on Channel 9.• Continue your education at
Microsoft Virtual Academy online.
Call to Action
![Page 9: Build2016 - P466 - Using Non-volatile Memory (NVDIMM-N) as Block Storage in Windows Server 2016](https://reader035.vdocuments.mx/reader035/viewer/2022062822/5882b67c1a28abd75a8b7481/html5/thumbnails/9.jpg)
© 2016 Microsoft Corporation. All rights reserved.