Build2016 - P466 - Using Non-volatile Memory (NVDIMM-N) as Block Storage in Windows Server 2016
-
Upload
windows-developer -
Category
Technology
-
view
425 -
download
1
Transcript of Build2016 - P466 - Using Non-volatile Memory (NVDIMM-N) as Block Storage in Windows Server 2016
#Build2016
Using non-volatile memory (NVDIMM-N) as block storage in Windows Server 2016Tobias KlimaProgram Manager
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
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)
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
NVDIMM-N Block Mode PerformanceTobias Klima
Hardware Provided By:
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
• 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
© 2016 Microsoft Corporation. All rights reserved.