SNIA Non-Volatile Memory Programming Model Being Public
Provides abstractions to OS components and applications accessing persistent memory hardware.
This is a Press Release edited by StorageNewsletter.com on January 27, 2014 at 2:57 pmThe Storage Networking Industry Association (SNIA) announced that its NVM Programming Model has been released to the public.
The NVM Programming Model provides abstractions to OS components (such as file systems) and applications accessing persistent memory (PM) hardware. The Programming Model is hardware agnostic and does not compete with command set standards such as SCSI, ATA or NVM Express.
“NVM is any type of non-volatile memory, which includes disk form factor and PCIe card SSDs, and PM hardware. PM is byte-addressable, uses load/store access (is not demand paged), operates near Dynamic Random-Access Memory (DRAM) speeds, and allows for Direct Memory Access,” said Paul von Behren, Intel Corp., co-chair of the SNIA NVM Programming Technical Work Group.
The Programming Model defines common behavior allowing applications to use NVM by providing extensions to existing block-addressable NVM software stacks and a new approach for PM.
The extensions for block-addressable NVM software relate to atomicity capabilities, device granularities and thin provisioning management. The new approach for PM utilizes existing memory mapped file abstractions that can act as a bridge to higher value from PM and limits the scope of required application reinvention.
Importantly, this is a Programming Model, not an API. It includes descriptions of required behavior in terms of actions and promotes discovery of capabilities using attributes. Use cases show how the modes are used in real-world programming contexts. Implementations will use the Programming Model to map actions and attributes to API elements.
“Defining a standard interface to NVM through the NVM Programming Model has the potential to reduce storage costs and provide new levels of storage performance for applications and the OS. Microsoft is working with the storage industry to combine our groundbreaking Software Defined Storage (SDS) capabilities in Windows Server 2012 R2 with value hardware to create a reliable, available, storage solution that can be dynamically reconfigured in software,” said Jim Pinkerton, lead partner architect, Microsoft Corp.
“Persistent Memory can allow databases and other services to run faster and recover more quickly,” says Garret Swart, architect, Oracle Corp. “PM-aware engineered systems can provide instruction-latency logging and reduced recovery time, as the content of caches and in-memory data structures can be validated and retained rather than rebuilt after a reboot.”
“This work has benefited from the breadth of participation that SNIA brings to technical work. It reflects SNIA’s understanding of the importance of software as an essential component of NVM solutions,” said Doug Voigt, Hewlett-Packard Development Company, LP, co-chair of the NVM Programming Technical Working Group.
Hear from the NVM experts at SNIA’s Storage Industry Summit on NVM themed The Future of Computing – The Convergence of Memory and Storage through Non-Volatile Memory. This summit takes place on January 28, 2014 in San Jose, CA and is free to attend Industry Support for the NVM Programming Model
Bob Beauchamp, distinguished engineer and director hardware technology and architecture, EMC Corp., said: “Within 3-5 years we expect the next generation NVM, based on new media such as Spin-Torque MRAM (ST-MRAM), Resistive random-access memory (ReRAM) or Phase-change memory (PCM) to offer better density, price and power per bit than DRAM. It is this expectation that has been a powerful driver behind the creation of this new programming model.”
Nisha Talagala, lead architect, Fusion-io, Inc., said: “We have been participating in the Non-Volatile Memory Programming Technical Working Group (NVMP TWG) almost from its beginning, and are very excited to see this work start to emerge in the public forum. The NVM Programming Model adds an important element to storage memory convergence by standardizing abstract primitives that can then be converted by software into APIs and system designs. Fusion-io has begun this software conversion through its interfaces published at opennvm.github.io in conjunction with the Open Compute Project.”
Ric Wheeler, director of file systems engineering, Red Hat, Inc., said: “SSDs initially appeared to the kernel as disks and plugged in seamlessly to the existing stack. However, the advent of PCIe-based SSDs pushed the boundaries of the Linux I/O stack and offered performance challenges. Looking to the future, wide-spread adoption of NVM technologies will require the adoption of a standards-based solution, such as this programming model.”
The SNIA Non-Volatile Memory Programming Technical Work Group comprises engineers from across the storage, systems software, and application software industries, whose goal is to enable a common ecosystem for NVM-enabled software without limiting the ability to innovate. With the publication of the SNIA NVM Programming Model, the TWG describes the behavior of a common set of software interfaces that provide access to non-volatile memory.