CCE: A Combined SRAM and Non Volatile Cache for Endurance of Next Generation Multilevel Non Volatile Memories in Embedded Systems

In this paper we present Combined Cache for Endurance (CCE), a scheme to enable the use of next generation high density multilevel non volatile memories in embedded systems. These memories are attractive as they can reduce the static power consumption dramatically and a single memory can be potentially used avoiding having both flash and SRAM or DRAM in a system. However, a common drawback of the new multilevel non volatile memories is that they support a limited number of write operations and thus its endurance needs to be improved to make them a viable alternative for the main memory of embedded systems. The proposed CCE relies on the fact that most writes are concentrated on a few addresses. Therefore, a small SRAM cache can be used to store positions that are frequently written. However, this would not preserve the non volatile nature of the memory. To do so, in the proposed CCE, the cache cell has an SRAM part and a non volatile part. At power up the contents of the non volatile part are copied to the SRAM and the other way around at power down. As many embedded systems execute predictable workloads, this cache is statically set to cover the most frequently written addresses. The evaluation shows that CCE can increase the endurance of the memory by several orders of magnitude. At the same time the overheads required to implement the cache are small relative to the main memory. Therefore, CCE can be an interesting option to improve the endurance of next generation high density multilevel non volatile memories.

[1]  Fabrizio Lombardi,et al.  A system-level scheme for resistance drift tolerance of a multilevel phase change memory , 2014, 2014 IEEE International Symposium on Defect and Fault Tolerance in VLSI and Nanotechnology Systems (DFT).

[2]  Greg Atwood,et al.  Next-Generation Memory [Guest editors' introduction] , 2013, Computer.

[3]  Fabrizio Lombardi,et al.  A New Comprehensive Model of a Phase Change Memory (PCM) Cell , 2014, IEEE Transactions on Nanotechnology.

[4]  James Cownie,et al.  PinPlay: a framework for deterministic replay and reproducible analysis of parallel programs , 2010, CGO '10.

[5]  Kartik Mohanram,et al.  Reliable Nonvolatile Memories: Techniques and Measures , 2017, IEEE Design & Test.

[6]  Dan Feng,et al.  Increasing Lifetime and Security of Phase-Change Memory with Endurance Variation , 2016, 2016 IEEE 22nd International Conference on Parallel and Distributed Systems (ICPADS).

[7]  Harish Patil,et al.  Pin: building customized program analysis tools with dynamic instrumentation , 2005, PLDI '05.

[8]  Puneet Gupta,et al.  Comparative Evaluation of Spin-Transfer-Torque and Magnetoelectric Random Access Memory , 2016, IEEE Journal on Emerging and Selected Topics in Circuits and Systems.

[9]  Yuan Xie,et al.  AdaMS: Adaptive MLC/SLC phase-change memory design for file storage , 2011, 16th Asia and South Pacific Design Automation Conference (ASP-DAC 2011).