PRESENTATION TITLE GOES HERE Ken Gibson
Intel Director, NVM SW Architecture
Memory is the New Storage
Opportunities for Storage SW Innovators
JANUARY 20, 2016, SAN JOSE, CA
0
5
10
15
20
25
30
NAND MLC NVMe SSD (4kB read)
3D Xpoint NVMe SSD (4kB read)
DIMM Memory (64B read)
Persistent Memory is Coming La
tenc
y (u
secs
)
I/O
Capacity Storage
The End-State
Capacity Storage
In-Place Working Storage
Next Generation NVM
Hot Storage
Working Data
DRAM
HDD SSD
Today The Future
Working Memory and Hot Storage Tier Merge
Evolving the Software Architecture
4
File APIs
Application
OS Kernel
File SystemFS-based Data
Services
Block Drivers
Working Data
DRAM
Block Filters
File Filters
Data I/O
Example Data ServicesLocal & Remote ReplicationSnapshotData protection, RAID, etc.Tiering, CachingData reduction: Dedup, CompressionAudit trail, EncryptionVirus protectionOther Compliance features….
Starting with Today’s Storage SW Stack
I/O-based Storage
A Possible Next Evolutionary Step
File APIs
Application
OS Kernel
File System-based Data Services
Optimized Block Drivers
Working Data
DRAM
Persistent Memory
Load StoreAccess
Block Filters
File Filters
Data Copies
I/O-based Storage
Similar File APIs
New User ModeNVM Data Services Libraries
SNIA NVM Programming Model + I/O-based Application APIs
~1uS Latency
The End State In-Place Working Storage
6
Eliminating the I/O Intercept Point
File APIs
Application
OS Kernel
File SystemFS-based Data
Services
Block Drivers
Working Data
Stored In-Place
In-PlaceWorking Storage
Block Filters
File Filters
I/O
I/O-based Storage
The Opportunity for Storage SW Innovators
7
Data Services for In-Place Working Storage
File APIs
Application
OS Kernel
File SystemFS-based Data
Services
Block Drivers
Working Data
Persisted In-Place
In-PlaceWorking Storage
Block Filters
File Filters
I/O-based Storage
New APIs and Data Services
8
NVDIMM
User Space
Kernel Space
Application
Load/Store Standard File API
pmem-Aware File System
MMU Mappings
NVM Library
• Open Source • http://pmem.io
• libpmem • libpmemobj • libpmemblk • libpmemlog • libvmem • libvmmalloc
Transactional
Kick-starting SW Innovation with the Open Source NVM Library
NVDIMM
User Space
Kernel Space
Application
Load/Store Standard File API
pmem-Aware File System
MMU Mappings
No Page Cache
msync() FlushViewOfFile()
pmem_persist()
Write I/O Replaced with Persist Points
Traditional APIs NVML API
NVM Library
10
Join the Discussion
Learn about the Persistent Memory programming model http://www.snia.org/forums/sssi/nvmp
Join the pmem NVM Libraries Open Source project http://pmem.io
Read the documents and code supporting ACPI 6.0 and Linux NFIT drivers
http://www.uefi.org/sites/default/files/resources/ACPI_6.0.pdf https://git.kernel.org/cgit/linux/kernel/git/djbw/nvdimm.git/log/?h=nd https://github.com/pmem/ndctl http://pmem.io/documents/ https://github.com/01org/prd
Intel Architecture Instruction Set Extensions Programming Reference https://software.intel.com/en-us/intel-isa-extensions
Intel 3D XPointTM Memory http://www.intel.com/content/www/us/en/architecture-and-technology/non-
volatile-memory.html
Top Related