February 17, 2011, 10:02 AM — 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.