Microsoft researchers are trying to improve the efficiency of flash memory by building software that uses solid-state storage in conjunction with RAM and hard disk, and eliminates random writes and other wasted operations.
Microsoft hasn’t made much headway in the storage market, dominated by the likes of EMC and NetApp, but the Microsoft Research team sounds confident about its new “FlashStore” research project. In lab tests, Microsoft says it performs 60 times faster than Oracle’s open-source Berkeley DB systems, at much greater energy- and cost-efficiency.
FlashStore is software that uses flash storage as a bridge between RAM and hard drives. It “operates as a key-value store and uses a ‘key’ to access the ‘value’ associated with each piece of a data record,” boosting efficiency of reads, writes, updates and deletions, Microsoft explains in an article this week, and a research paper published last September.
“Flash is great technology, but it requires intelligent software to make the best use of it,” says Microsoft research scientist Sudipta Sengupta. The scientist developed FlashStore with fellow Microsoft scientist Jin Li and a research intern named Biplob Debnath, who now works for EMC.
Flash memory is 100 to 1,000 times faster than hard disk, but 100 times slower than DRAM, the Microsoft research paper says. This discrepancy is reflected in price, with flash being 20 times more expensive than disk but 10 times cheaper than DRAM.
To bridge the gap, FlashStore “sits between a hard drive and RAM, acting as a high-speed holding area for frequently used data.”
Using flash in conjunction with other types of storage isn’t new in itself. Vendors that sell such technology call it tiered storage, and say it maximizes cost-effectiveness of storage by putting valuable, frequently accessed data on high-priced, faster tiers, and less valuable, less frequently accessed data on lower-cost, slower tiers.
But Microsoft says it’s added a couple of other enhancements. “FlashStore is designed to eliminate random writes,” Microsoft says. “It organizes data in a log structure on flash so that new data sent to flash does not lead to random writes and, hence, is not subject to garbage collection by the device.” FlashStore also uses a specialized RAM index to access data from flash in a way that reduces usage of RAM.
Microsoft’s FlashStore team also built something called ChunkStash, a flash-assisted storage de-duplication program, and SkimpyStash, which further reduces usage of RAM.
Microsoft didn’t say when or if FlashStore will be turned into a commercial product, but mentioned Xbox Live and ad-sponsored online searches as the types of applications that might benefit from such a system. Microsoft also said FlashStore makes Flash “work efficiently enough to be more attractive on the price-performance tradeoff for heavy-duty server and cloud computing.”
Flash-based solid state storage has become cost-effective in many types of applications that require very fast access to data, such as online search, social networking, e-commerce, databases, data processing and online transaction processing, IDC analyst Jeffrey Janukowicz says.
“Software vendors, like Microsoft, and hardware vendors needed to optimise those pieces for the characteristics of NAND flash technology,” Janukowicz writes in an email. “NAND flash behaves very differently than both DRAM and HDDs, so vendors needed to address both the physical hardware and software stacks to accommodate solid state storage to avoid shifting performance bottlenecks to other components of the system. This means looking at aspects like the elimination of random writes.”