During an execution interval of a program, the writes into
sets are usually concentrated into some few lines which can
vary as its WWS changes. By remapping write-stressed blocks
to the SRAM lines, there may still exist some non-uniformity
for writes within STT-RAM lines of the same set. Figure 3
profiles the write distribution over lines of different sets in the
evaluated cache after swapping between SRAM and STT-
RAM. The running program is Dedup from the PARSEC-2
suite. This profiling shows how much of the write traffic to
each set is destined to the 4-way SRAM (gray bars with 71%
on average), 4 ways of STT-RAM with high write request
(black bars with 21% on average), and 8 other more idle STT-RAM lines (white bars with 8% on average). Although SRAMs
handle more than 71% of the write requests, it can be seen that
only one-third of the STT-RAM lines receive about 80% of the
remaining write requests. If the application runs forever, some
STT-RAM lines of a set wear-out much faster than others
which in turn hurts hit rate of the shared cache. The policy for
data swap within STT-RAM seeks to reduce this unbalance
distribution by remapping data from the frequently-written
STT-RAM lines onto other (idle or less-written) STT-RAM
lines in the same set. In short, intra-set policies help remapping
of write-stressed data blocks onto SRAM lines while try
uniforming remaining writes over STT-RAM lines within a set.