1. A method of operating a memory system, the method comprising; storing data in a non-volatile memory; maintaining a checkpointed copy of a dynamic table of metadata for the stored data in the non-volatile memory; maintaining a transaction log for the dynamic table; discovering changes to the dynamic table that are not found in the transaction log; updating the dynamic table by applying transactions in the transaction log and the discovered changes, wherein at least one of a portion of the transaction log or a portion of the dynamic table is stored in a volatile memory.