FTSPM: A Fault-Tolerant ScratchPad Memory

ScratchPad Memory (SPM) is an important part of most modern embedded processors. The use of embedded processors in safety-critical applications implies including fault tolerance in the design of SPM. This paper proposes a method, called FTSPM, which integrates a multi-priority mapping algorithm with a hybrid SPM structure. The proposed structure divides SPM into three parts: 1) a part is equipped with Non-Volatile Memory (NVM) which is immune against soft errors, 2) a part is equipped with Error-Correcting Code, and 3) a part is equipped with parity. The proposed mapping algorithm is responsible to distribute the program blocks among the above three parts with regards to their vulnerability level. The simulation results demonstrate that the FTSPM reduces the SPM vulnerability by about 7x in comparison to a pure SRAM-based SPM. In addition, the dynamic energy consumption of the proposed method is 77% and 47% less than that of a pure NVM-based SPM and a pure SRAM-based SPM, respectively.

[1]  Yuan Xie,et al.  Exploring the vulnerability of CMPs to soft errors with 3D stacked non-volatile memory , 2011, 2011 IEEE 29th International Conference on Computer Design (ICCD).

[2]  Joseph Y.-T. Leung,et al.  Handbook of Real-Time and Embedded Systems , 2007 .

[3]  Wei-Che Tseng,et al.  Towards energy efficient hybrid on-chip Scratch Pad Memory with non-volatile memory , 2011, 2011 Design, Automation & Test in Europe.

[4]  Mahmut T. Kandemir,et al.  Improving scratch-pad memory reliability through compiler-guided data block duplication , 2005, ICCAD-2005. IEEE/ACM International Conference on Computer-Aided Design, 2005..

[5]  Mahdi Fazeli,et al.  Memory Mapped SPM: Protecting Instruction Scratchpad Memory in Embedded Systems against Soft Errors , 2012, 2012 Ninth European Dependable Computing Conference.

[6]  René Schott,et al.  A Tabu Search Heuristic for Scratch-Pad Memory Management , 2010, ICSE 2010.

[7]  César A. F. De Rose,et al.  Non-Volatile Memory : Emerging Technologies And Their Impacts on Memory Systems , 2010 .

[8]  Steve Heath,et al.  Embedded Systems Design , 1997 .

[9]  Hiroaki Takada,et al.  Partitioning and allocation of scratch-pad memory for priority-based preemptive multi-task systems , 2010, 2010 Design, Automation & Test in Europe Conference & Exhibition (DATE 2010).

[10]  Robert C. Aitken,et al.  Impact of Technology and Voltage Scaling on the Soft Error Susceptibility in Nanoscale CMOS , 2008, 2008 IEEE International Symposium on Defect and Fault Tolerance of VLSI Systems.

[11]  Doe Hyun Yoon,et al.  Memory mapped ECC: low-cost error protection for last level caches , 2009, ISCA '09.

[12]  Cong Xu,et al.  When to forget: A system-level perspective on STT-RAMs , 2012, 17th Asia and South Pacific Design Automation Conference.

[13]  Sander Stuijk,et al.  Thermal-aware scratchpad memory design and allocation , 2010, 2010 IEEE International Conference on Computer Design.

[14]  Shubhendu S. Mukherjee,et al.  Measuring Architectural Vulnerability Factors , 2003, IEEE Micro.

[15]  Nikil D. Dutt,et al.  E-RoC: Embedded RAIDs-on-Chip for low power distributed dynamically managed reliable memories , 2011, 2011 Design, Automation & Test in Europe.

[16]  M.D. Berg,et al.  Single-Event Upsets and Multiple-Bit Upsets on a 45 nm SOI SRAM , 2009, IEEE Transactions on Nuclear Science.

[17]  Meng Wang,et al.  Improving the reliability of embedded systems with cache and SPM , 2009, 2009 IEEE 6th International Conference on Mobile Adhoc and Sensor Systems.

[18]  Yuan Xie,et al.  Exploring the vulnerability of CMPs to soft errors with 3D stacked non-volatile memory , 2011, ICCD.

[19]  Alan Wood,et al.  The impact of new technology on soft error rates , 2011, 2011 International Reliability Physics Symposium.

[20]  Cong Xu,et al.  NVSim: A Circuit-Level Performance, Energy, and Area Model for Emerging Nonvolatile Memory , 2012, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[21]  Peter Marwedel,et al.  Assigning program and data objects to scratchpad for energy reduction , 2002, Proceedings 2002 Design, Automation and Test in Europe Conference and Exhibition.

[22]  Sri Parameswaran,et al.  Hardware/software managed scratchpad memory for embedded system , 2004, IEEE/ACM International Conference on Computer Aided Design, 2004. ICCAD-2004..

[23]  Bruce Jacob,et al.  Energy/Power Breakdown of Pipelined Nanometer Caches (90nm/65nm/45nm/32nm) , 2006, ISLPED'06 Proceedings of the 2006 International Symposium on Low Power Electronics and Design.

[24]  Lin Gao,et al.  Memory coloring: a compiler approach for scratchpad memory management , 2005, 14th International Conference on Parallel Architectures and Compilation Techniques (PACT'05).

[25]  Trevor Mudge,et al.  MiBench: A free, commercially representative embedded benchmark suite , 2001 .

[26]  Olivier Zendra,et al.  A Survey of Scratch-Pad Memory Management Techniques for low-power and -energy , 2007 .

[27]  Jaejin Lee,et al.  FaCSim: a fast and cycle-accurate architecture simulator for embedded systems , 2008, LCTES '08.