Thumbnail Image


Publication or External Link





ReRAM is an attractive main memory technology due to its high density and low idle power. However, ReRAM exhibits costly writes, especially in terms of energy and endurance. Prior studies demonstrate that retention can be traded off for write energy and endurance by employing soft write operations with lower currents. But given their reduced retention times, soft writes require refresh operations to prevent data loss. Unfortunately, a large number of refreshes are needed in between writes to infrequently updated data. Given the large capacity of ReRAM, always doing soft writes is not viable, as the exorbitant cost of refreshing every cell will outweigh any benefits from soft writes. Hence, a non-volatile memory system with soft writes still needs traditional hard writes and a way to choose between them.

Whether or not soft writes provide a benefit depends on the amount of time between back- to-back writes to the same data, which we call the overwrite time. As long as the cost for the soft write and its refreshes within the overwrite time window is less than the cost for a hard write, then the original soft write is profitable. Otherwise, it would have been better to perform a hard write in order to eliminate the refreshes.We propose SRTP, a predictor that learns the overwrite time between back-to-back writes to main memory and associates them with static store instructions in a prediction table. As dynamic stores execute, SRTP predicts whether a soft or hard write is best based on the magnitude of the predicted store reuse time. This soft write decision is placed in the cache hierarchy and eventually informs the writeback to the main memory to use either a soft or hard write. Our results show SRTP provides 2.6x - 4.1x improvement in endurance and 2.9x - 4.2x improvement in write energy over a state-of-the-art predictor. We also show that SRTP is within 18.5% of the Oracle policy. Furthermore, we integrate SRTP with a prior wear leveling technique, called Ouroboros, and show that SRTP improves actual memory system lifetime by 6.4x over a baseline that only performs hard writes. Finally, we introduce a new guiding metric for wear leveling in the presence of variable intensity writes and show that it improves wear-leveling efficacy by 5.7% to 19.4%.