1. A cache management method using checkpoint tags, the method comprising steps of: in a cache mechanism comprising a data array storing data fetched from cache memory, a cache tag array identifying data stored in said data array, and a checkpoint tag array storing virtual addresses and data identification, using a cache controller to perform steps of: receiving a cache miss request for data from a processor; fetching a cache block comprising the data from a cache memory; writing the data from the cache block into the data array; writing a physical address and metadata of the cache block into the cache tag array; checkpointing a current state of the cache tags, by writing a virtual address of the cache block into the checkpoint tag array such that at any point in time said checkpointed tag array summarizes contents of each cache block using its virtual address; wherein a cache tag is a portion of the cache memory that labels contents of the data stored in the cache; and using the checkpoint tag array to restore the cache memory at a subsequent time, using the cache tags as a reference point for prefetching the cache block.