Through collaboration with computer scientists from Princeton, we have designed a new subsystem called Extended Memory that makes NAND flash a seamless extension to DRAM. Extended Memory, which works with ioMemory as part of the Fusion-io Software Development Kit (SDK), has major implications for companies running large in-memory datasets who, until now, have had no choice but to purchase, power, and cool enough DRAM to accommodate their full datasets.
Volatile DRAM is faster—but much more expensive at high densities—than flash. NAND flash has much greater density than DRAM, and requires substantially less power to do its job. The Extended Memory library transparently tiers data between available DRAM in the system and the persistent NAND flash tier, making it much more affordable for organizations to greatly expand the size of their in-memory data sets without re-writing their applications.
The proverbial 80/20 rule applies to many large companies we’ve spoken to about Extended Memory. While 20% of their in-memory data must be DRAM-resident at all times, the other 80% can be transparently demand-paged from NAND flash into DRAM without significant impact to the overall application performance. These companies expressed enthusiasm to accept slight latency delays in accessing the 80% in return for significantly reducing both capital and operating DRAM expenses.
The popularity of full in-memory datasets is growing as exploding amounts of data require the same low-latency access as always expected. Extended Memory gives these applications a cost-effective option to scalability.
Want to learn more about Extended Memory? Visit developer.fusionio.com.