build2016 - p466 - using non-volatile memory (nvdimm-n) as block storage in windows server 2016

9
#Build2016 Using non-volatile memory (NVDIMM-N) as block storage in Windows Server 2016 Tobias Klima Program Manager

Upload: windows-developer

Post on 21-Jan-2017

425 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: 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

Page 2: Build2016 - P466 - Using Non-volatile Memory (NVDIMM-N) as Block Storage in Windows Server 2016

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

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

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

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
Page 7: Build2016 - P466 - Using Non-volatile Memory (NVDIMM-N) as Block Storage in Windows Server 2016

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

• 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

© 2016 Microsoft Corporation. All rights reserved.