Patent ID: 8621143

Claim:
A method for storing and caching data in computing environments, said method comprising: compressing a set of primary keys into a tree data structure that provides an index into data entries stored in either random access memory (RAM) or flash-based memory, wherein each primary key is a reference to a data entry in a memory block stored in said RAM or said flash-based memory, wherein the data entries further include a set of primary data entries and a set of backup data entries, wherein both said primary data entries and said backup data entries are written to said RAM until said RAM reaches a predetermined capacity threshold; receiving a set of state changes to the data entries; re-linking the primary keys associated with the modified data entries to reference new values; batching the state changes until enough data is modified to warrant performing a full write of a new memory block; and journaling the batch of state changes by appending the new memory block to the RAM or the flash memory storing the data entries.