This cache implements the write-back policy. A new “Speculative” state is added to each line. This allows the cache to differentiate cache blocks that was written after a checkpoint was taken. If a speculative block has to be evicted, the corresponding block in the next lower hierarchy will be marked as “Speculative”.
However if the following level is the main memory or a normal cache, then the checkpoint will be discarded and all blocks in “Speculative” state will be changed to “Dirty”. This effectively commits all operations after a checkpoint. On the event of a rollback, every speculative cache block will be invalidated.
The proposed design allows quick checkpoint taking. On the other hand, rolling back or committing a checkpoint is very expensive because a full traversal of the cache is needed.
2008-05-03
2008-05-02
2008-04-18
2008-04-14
2008-04-07
2008-04-01
2007-11-18
2007-11-01