A collaboration between computer scientists at Princeton University and Fusion-io has led to the development of a new Extended Memory subsystem to be made available as part of the firm's own brand SDK.
The Extended Memory subsystem works to extend system memory from DRAM onto flash, providing what has been described as "much more high-performance memory capacity" than currently possible with DRAM alone.
The firm's message to software programmers is that this is an extended memory option for developers who chose to customize applications to leverage ioMemory technology. Applications can then extend their in-memory data from DRAM onto ioMemory, which — generally speaking — should also save money as DRAM is argued to be cost-prohibitive, not persistent, and limited in capacity.
Will this garner interest from developers attracted to the benefits of storing all data in-memory, especially to meet the needs of web-scale, cloud, and big data computing? It is an attractive sounding option for sure, but success here will be based on whether this Extended Memory's ability to intelligently tier data between available DRAM in the system and the persistent NAND flash tier works as well as described.
"The Fusion ioMemory architecture is uniquely suited to innovation like the Extended Memory subsystem," said Chris Mason, Fusion-io director of kernel engineering and principal author of the Btrfs filesystem for Linux. "Since Fusion ioMemory has moved beyond legacy disk-era protocols, we can integrate new features like the Extended Memory subsystem to truly advance application performance for enterprise computing in ways that are simply not possible with traditional SSDs."
The Extended Memory subsystem dynamically moves frequently accessed data pages into memory on-demand while migrating rarely accessed data pages from DRAM into ioMemory. This says Fusion-io allows developers to simplify application design by assuming that entire datasets are in-memory, without the costs associated with DRAM purchase and operation.
Application developers are able to further tune performance through software development kit tools that lock selected pages into DRAM, giving access to NAND flash as memory, instead of treating it as an extension of disk storage. This allows legacy applications to scale up with flash memory, instead of scaling out, boosting performance and reducing total cost of ownership.