The increasing use of Non-Volatile Memory (NVM) in computer architecture has brought about new challenges, one of which is the write endurance problem. Frequent writes to a particular cache cell in NVM can lead to degradation of the memory cell and reduce its lifespan. To solve this problem, we propose a sample-based blocking technique for the Last Level Cache (LLC). Our approach involves defining a threshold value and sampling a subset of cache sets. If the number of writes to a way in a sampled set exceeds the threshold, the way is blocked, and writes are redirected to other ways. We also maintain a history structure to record the number of writes in a set and a PC-Table to use for blocking in unsampled sets. Based on blocking on sampled sets, variance of values stored in history is used to determine whether blocking had a positive impact or not, and on this basis, value corresponding to instruction pointer is incremented or decremented. This value is later used for blocking in unsampled sets. Our results show that our approach significantly balances write traffic to the cache and improves the overall lifespan of the memory cells while having better performance to the base-line system. Our approach can also be applied to other cache hierarchies and NVM technologies to mitigate the problem of write endurance.
翻译:随着非易失性存储器在计算机体系结构中的日益广泛应用,新的挑战也随之出现,其中一项关键挑战是写入耐久性问题。频繁地对NVM中的特定缓存单元进行写入操作可能导致存储单元性能退化并缩短其使用寿命。为解决这一问题,我们针对末级缓存提出了一种基于采样的阻塞技术。该方法通过设定阈值并对缓存组子集进行采样来实现:若采样组中某一路的写入次数超过阈值,则阻塞该路并将写入请求重定向至其他路。我们同时维护了记录组内写入次数的历史结构以及用于未采样组阻塞决策的PC表。基于采样组的阻塞操作,系统利用历史记录中存储值的方差来判断阻塞是否产生积极效果,并据此对指令指针对应的计数值进行增减调整。该计数值随后将用于未采样组的阻塞决策。实验结果表明,我们的方法能显著均衡缓存写入流量,在保持优于基线系统性能的同时,有效延长存储单元的整体使用寿命。该技术方案亦可扩展应用于其他缓存层级结构和NVM技术,以缓解写入耐久性问题。