1. A system comprising: a processor; a memory coupled with the processor; a storage system coupled with the memory; and a computer-readable medium embodying a program operable to cause the processor to perform operations comprising: defining multiple metadata blocks in a persistent storage, the multiple metadata blocks comprising information that links a virtual address space to the storage system, where the defining includes, for each one of the multiple metadata blocks, determining multiple output addresses corresponding to the storage system, and writing the multiple output addresses, which correspond to the one metadata block, and an identifier corresponding to the multiple metadata blocks, in the one metadata block in the persistent storage; where the memory comprises a hash table data structure to access and manage multiple sets of the metadata blocks corresponding to the multiple virtual volumes; and where the hash table data structure comprises multiple locations, a location including a field that saves a persistent address for a given metadata block, a field that saves an in-memory pointer to an in-memory copy of the given metadata block, and a field that saves least recently used (LRU) information.