1. A method for retrieving versioned data in a non-volatile memory, the method comprising: receiving a read request for a data object; in response to the request, determining, via an object table, whether one or more versions of the data object exist in memory; in accordance with a determination that one or more versions exist in memory, obtaining, via the object table, a respective location where each of the one or more versions of the data object are stored; and reading at least one of the one or more versions of the data object from the respective location into volatile memory.