Spin-Transfer Torque RAM (STT-RAM) exhibits advantages like high density, non-volatility, and low static power consumption, making them a plausible successor to SRAM in caches. However, STT-RAM’s large write energy and latency constrain its potential for commercial usage in caches. Relaxing STTRAM’s retention time is one of the emerging and viable solutions to alleviate this roadblock, as this reduces the write time and energy. Reduction of retention time, however, leads to premature expiry of blocks requiring frequent refreshes or writebacks. These approaches cause unnecessary stalls and increase miss-rate.
This paper proposes using a cache with partitions of different retention times. It further puts forth a block placement and reallocation policy to use these different partitions effectively. A block is said to be placed in an optimal partition if the block is either accessed or evicted before it expires. In particular, frequently written blocks are allocated to lower retention time partition, guaranteeing a reduction in block expiry/writebacks. During the execution, at regular intervals, blocks are migrated to appropriate retention time partitions depending on the application characteristics. Experimental evaluation shows significant improvement in performance and miss-rate compared to baseline allocation policies.