During a program execution interval, there are usually lines
of a set whose contents are frequently rewritten, while the
situation in other line is exactly opposite. Considering such
access locality of write references, our hybrid architecture aims
to have SRAM line containing heavily-written data blocks;
while STT-RAM blocks are mainly used to keep remaining
infrequently-written data. Besides, data within STT-RAM are
remapped such that write accesses are uniformly distributed.