Microsoft Research scientists, Sudipta Sengupta and Jin Li, developed what they call "FlashStore," a flash-based "bridge" between RAM and a hard drive that helps to overcome the handicaps of each while maximizing flash memory's capabilities and minimizing its weaknesses.
FlashStore operates as a key-value store and uses a "key" to access the "value" associated with each piece of a data record. It supports the operations of read, write, update, and deletion of such data records. A third collaborator on FlashStore, Biplob Debnath, was a research intern at Microsoft and now works for EMC, a network-storage and data-recovery firm.
FlashStore has potentially significant usefulness across a range of computing applications, from server farms to cloud applications. It already has shown it can speed up online gaming for Xbox LIVE players, as well as data-intensive server applications.
In FlashStore, flash "sits" between a hard drive and RAM, acting as a high-speed holding area for frequently used data. FlashStore works by overcoming flash memory's drawbacks. These relate to the way in which flash stores and manages data. In flash memory, data is not as easily overwritten as it is on a hard drive. Flash memory starts in an erased state, then collects data in page-sized units at a time, where a page can vary in size from 512 bytes to eight kilobytes, depending on the device.
But if you need to erase data, you can't do it a page at a time. Typically, an erase block consists of 32 to 64 data pages. Li compares the way flash works to a line of water buckets.