Inventors:
Sudipta Sengupta - Redmond WA, US
Biplob Kumar Debnath - Minneapolis MN, US
Jin Li - Bellevue WA, US
Assignee:
Microsoft Corporation - Redmond WA
International Classification:
G06F 12/02, G06F 12/10, G06F 12/00
US Classification:
711103, 711104, 711216, 711E12001, 711E12059
Abstract:
Described is using flash memory, RAM-based data structures and mechanisms to provide a flash store for caching data items (e.g., key-value pairs) in flash pages. A RAM-based index maps data items to flash pages, and a RAM-based write buffer maintains data items to be written to the flash store, e.g., when a full page can be written. A recycle mechanism makes used pages in the flash store available by destaging a data item to a hard disk or reinserting it into the write buffer, based on its access pattern. The flash store may be used in a data deduplication system, in which the data items comprise chunk-identifier, metadata pairs, in which each chunk-identifier corresponds to a hash of a chunk of data that indicates. The RAM and flash are accessed with the chunk-identifier (e.g., as a key) to determine whether a chunk is a new chunk or a duplicate.