Non-volatile memory's future is in software

New memory technology to serve dual roles of mass storage and system memory

There will be a sea change in the non-volatile memory (NVM) market over the next five years, with more dense and reliable technologies challenging dominant NAND flash memory now used in solid-state drives (SSD) and embedded in mobile products.

As a result, server, storage and application vendors are now working on new specifications to optimize the way their products interact with NVM -- moves that could lead to the replacement of dynamic RAM (DRAM) and hard drives alike for many applications, according to a Storage Networking Industry Association (SNIA) technical working group.

"This [SNIA] working group recognizes that media will change in next three to five years. In that time frame, the way we handle storage and memory will have to change," said Jim Pappas, a member of the SNIA Non-Volatile Memory Programming Technical Working Group. "Industry efforts are under way to remove the bottleneck between the processor and the storage."

Pappas, who is also the director of technology initiatives in Intel's Data Center Group, noted there are more than a dozen non-volatile memory competitors coming down the pike to challenge NAND flash. Those technologies include Memristor, ReRam, Racetrack Memory, Graphene Memory and Phase-Change Memory.

PCM chip
IBM's phase-change memory chip uses circuitry that is 90nm wide and could someday challenge NAND flash memory's market dominance.

"What is happening across the industry with multiple competing technologies to NAND flash is the memory that goes into SSDs today will be replaced by something very close to the performance of system memory," Pappas said. "So now, it's the approximate speed as system memory, but yet it's also non-volatile. So it's a big change in computing architecture."

For example, last year IBM announced a breakthrough in phase-change memory that could lead to the development of solid-state chips that can store as much data as NAND flash technology but with 100 times the performance, better data integrity and vastly longer life spans.

The SNIA Non-Volatile Memory Programming Technical Working Group, which includes representatives of a who's who of hardware and software vendors, is working on three specifications. First, the group wants to improve the speed of operating systems by enabling them to recognize when a faster flash medium is available. Second, it wants to give applications direct access to the flash through the operating system. And third, it wants to enable new NVMs to be used as system memory.

"Most significantly, when you use non-volatile memory in the future, you can use as part of it for your memory hierarchy and not just [mass] storage," Pappas said.

The companies backing the specifications effort include IBM, Dell, EMC, Hewlett-Packard, NetApp, Fujitsu, QLogic, Symantec, Oracle, and VMware.

NAND flash accessed like hard drives today

Today, a processor accesses system memory (DRAM) directly in hardware through a memory controller. The memory controller is usually integrated into the microprocessor chip. There is no software necessary. It is all performed in hardware.

In contrast, a microprocessor talks to NAND flash the same way that it accesses a hard drive. It does that through operating system calls, which in turn drive the traditional storage software stack. From there the OS then transports the data to or from the flash memory (or hard drive) over independent storage interfaces such as SCSI, SAS or SATA interface hardware.

Once next-generation NVM arrives, the interface will change; that is a product implementation decision that is outside the scope of the SNIA NVM Programming Technical Working Group, Pappas said.

For example, one popular method that is already being used in multiple products today is connecting NVM directly to the PCI Express (PCIe) bus, which is usually directly connected to the processor.

Solid-state memory vendor Fusion-io is among more than a half-dozen companies selling NAND flash PCIe cards for servers and storage arrays. The company has also been working on software development kits and hardware products that will eventually allow its NAND flash cards to be used as system memory and mass storage in the same way SNIA's specifications will for the industry at large.

Microsoft and Fusion-io have been working to develop APIs enabling SQL databases to use what Fusion-io calls its Virtual Storage Layer (VSL), which in turn allows developers to optimize applications for Fusion's ioMemory PCIe cards. Like any operating system, SQL Server still uses NAND flash like spinning media, using a buffer and writing data twice to ensure resiliency.

Fusion-io calls its interface effort the Atomic Multi-block Writes API. The API is an extension to the MySQL InnoDB storage engine that eliminates the need for a buffer or redundant writes, giving the application direct access to -- and control of -- the NAND flash media.

"If we architect it to act like memory, and not like disk, we can do block I/O [reads and writes] and memory-based access," said Gary Orenstein, senior vice president of products at Fusion-io. "The APIs say to SQL, 'You have more capability than you think you have.'"

The result is a 30% to 40% improvement in SQL database performance, half the number of writes, and twice the life for the NAND flash because it is storing half of the data it typically would, Orenstein said.

1 2 3 Page
From CIO: 8 Free Online Courses to Grow Your Tech Skills
Join the discussion
Be the first to comment on this article. Our Commenting Policies