Fusion-io, a manufacturer of various PCI-E based solid state drives, has released a software development kit (SDK) that allows developers to access the NAND flash memory directly. Debuting at the DEMO conference, the SDK gives software developers direct access to the memory and how it operates. As Allyn mentioned on the podcast, the Fusion-io drives use rather dumb controllers and rely on software and the host machines processor to do the heavy lifting.
But because of the way the Fusion-io drives work, and being PCI-E based, they are able to present the NAND flash to software without going through other layers of abstraction such as the SATA interface and internal drive controller processing. Software is then able use the NAND flash as storage for applications that demand high input/output operations per second. And because of the direct access, latency is greatly reduced.
The full press release is below:
SAN FRANCISCO – April 18, 2012 [DEMO Spring trade show] – Fusion-io (NYSE: FIO) today announced the first software development kit (SDK) to provide software developers with native access to the ioMemory flash platform. By integrating applications directly with this new persistent memory tier, developers will be able to optimize enterprise, web, and big data applications through direct programmatic access to the ioMemory computing layer for the first time.
“Our January demonstration of one billion IOPS running on Auto Commit Memory, and Atomic Writes demonstrated the potential power of running applications natively on ioMemory. With our SDK, we are now making these tools available to software developers,” said David Flynn, Fusion-io CEO and Chairman. “The ioMemory SDK and APIs reduce application complexity and speed development while accelerating time to market with fewer engineering requirements. When you get rid of that complexity, the resulting application is much more reliable and can leverage the full potential of ioMemory to run much faster.”
On only a handful of occasions in the past 60 years have software developers been given fundamentally new programming building blocks for memory or storage devices. Until now, developers have been limited to tuning their applications for flash as storage. The ioMemory SDK libraries unlock direct programmatic access to native flash access patterns and data organization methods. The ioMemory SDK includes application programming interfaces (APIs) within user-space libraries, as well as reference application examples made available as open source. The ioMemory SDK libraries will combine underlying primitives provided by the Fusion-io ioMemory OS Subsystem, such as Fusion-io Atomic Writes and Auto Commit Memory, to accelerate application development cycles and system performance of popular applications.
“Direct programmatic access to the ioMemory tier presents a rare and significant leap forward for computing, and the ioMemory SDK makes that integration powerfully simple for application developers,” said Citrusleaf founder and CTO Brian Bulkowski. “When you consider that Fusion-io is already well known for accelerating applications, it’s exciting that bypassing traditional protocols in favor of direct access to ioMemory would mean an even greater performance boost in Citrusleaf’s NoSQL database for mission critical webscale applications. Our existing real time big data customers require low latency and extraordinary throughput, and with this revolution in application acceleration, end users will start asking if applications can run native on ioMemory.”
The ioMemory SDK will feature APIs including the Key-Value Store, which will feature interfaces to reduce latency, improve memory efficiency, and reduce code complexity. The directFS API provides native file-access semantics to ioMemory through a POSIX-compliant file system. Like the native API libraries, directFS is implemented directly on ioMemory, significantly reducing latency by entirely bypassing operating system buffer caches, file system and kernel block I/O layers. Fusion-io directFS will be released as a practical working example of an application running natively on ioMemory to help developers explore the use of Fusion-io APIs.
“Improving the performance of input/output (I/O) bound applications or systems could be more pronounced and cost-effective if the choice of data to hold in flash memory is done in an intelligent and application-aware way,” said Gartner VP Distinguished Analyst Carl Claunch. “Competitive advantages for software will be the main driver pushing those makers to exploit flash as a unique memory type.”
Select Fusion-io libraries and APIs are now available to early access partners through the new Fusion-io Developer Program, the first industry program for developers optimizing applications to run natively on ioMemory. Designed as a developer community resource, the Developer Program portal will also feature white papers, blogs, FAQs, and other resources. To apply for early access to the Fusion-io Developer Program, please visit http://developer.fusionio.com.
To learn more about Fusion-io, go to http://www.fusionio.com. Follow Fusion-io on Twitter at http://www.twitter.com/fusionio and on Facebook at http://www.facebook.com/fusionio.