Efficient and Failure Aware ECC for STT-MRAM Cache Memory

  • Keerthi Sagar KokkiligaddaEmail author
  • Yogendra Gupta
  • Lava Bhargava
Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 892)


Spin Transfer Torque Magnetoresistive Random Access Memory (STT-MRAM) is a favorable memory technology for on-chip cache hierarchies in multi-core processors. STT-MRAM offers scalability, near zero leakage power, non-volatility, high density, etc. which makes it a good candidate for on-chip cache memory. However, write operation in STT-MRAM is asymmetric which causes multiple errors in single line of cache (up to 70 bits of errors). For this usually error control codes are used. In this paper, we focus on analyzing the effectiveness of BCH codes in rectifying the write errors of STT-MRAM. So in the current work (1216, 512) BCH encoder and decoder are designed and verified at the RTL level using Verilog HDL. For encoder, the conventional linear feedback shift register (LFSR) structure is used and for decoding Meggitt decoder is used which also requires 2 LFSR one for first-time syndrome calculation and another for spontaneous recalculation of the syndrome. In our proposed technique, we have reused the syndrome calculator as spontaneous calculator thereby reducing the area. It is practically impossible to manually write Verilog code for designing large architectures such as the (1216, 512) BCH decoder. We have solved this problem by writing a Matlab script which takes the code and data sizes as input, gives the Verilog code as output. We have synthesized the BCH encoder and decoder at 32 nm technology using synopsis design compiler and estimated area, power and delay of the encoder and decoder.


STT-MRAM Error control coding (ECC) BCH encoder and decoder Meggitt decoder 



This work is partly supported by SMDPC2SD project, sponsored by Ministry of Electronics & Information of Technology, Government of India.


  1. 1.
    Sayed, N., Oboril, F., Bishnoi, R., Tahoori, M.B.: Leveraging systematic unidirectional error-detecting codes for fast STT-MRAM cache. In: 2017 IEEE 35th VLSI Test Symposium (VTS), Las Vegas, NV, pp. 1–6 (2017)Google Scholar
  2. 2.
    Sun, G., Dong, X., Xie, Y., Li, J., Chen, Y.: A novel architecture of the 3D stacked MRAM L2 cache for CMPs. In: 2009 IEEE 15th International Symposium on High Performance Computer Architecture, Raleigh, NC, pp. 239–249 (2009)Google Scholar
  3. 3.
    Meggitt, J.: Error correcting codes and their implementation for data transmission systems. IRE Trans. Inf. Theory 7(4), 234–244 (1961)MathSciNetCrossRefGoogle Scholar
  4. 4.
    Sun, H., Liu, C., Min, T., Zheng, N., Zhang, T.: Architectural exploration to enable sufficient MTJ device write margin for STT-RAM based cache. IEEE Trans. Magn. 48(8), 2346–2351 (2012)CrossRefGoogle Scholar
  5. 5.
    Azad, Z., Farbeh, H., Monazzah, A.M.H., Miremadi, S.G.: AWARE: adaptive way allocation for reconfigurable ECCs to protect write errors in STT-RAM caches. IEEE Trans. Emerg. Top. Comput. PP(99), 1 (2017)Google Scholar
  6. 6.
    Nguyen, V.T., Dao, V.L., Phan, T.T.D.: Hardware implementation of cyclic codes error correction on FPGA. In: 2016 3rd National Foundation for Science and Technology Development Conference on Information and Computer Science (NICS), Danang, pp. 97–100 (2016)Google Scholar
  7. 7.
    Chen, T.J., Li, J.F., Tseng, T.W.: Cost-efficient built-in redundancy analysis with optimal repair rate for RAMs. IEEE Trans. Comput.-Aided Des. Integr. Circ. Syst. 31(6), 930–940 (2012)CrossRefGoogle Scholar
  8. 8.
    Kang, W., et al.: A low-cost built-in error correction circuit design for STT-MRAM reliability improvement. Microelectron. Reliab. 53, 1224–1229 (2013)CrossRefGoogle Scholar
  9. 9.
    Lu, S.K., Huang, H.H., Huang, J.L., Ning, P.: Synergistic reliability and yield enhancement techniques for embedded SRAMs. IEEE Trans. Comput.- Aided Des. Integr. Circ. Syst. 32(1), 165–169 (2013)CrossRefGoogle Scholar
  10. 10.
    Li, Y., Shi, D., Xia, P.: Cyclic codes error correction system based on FPGA. In: 2014 7th International Congress on Image and Signal Processing, Dalian, pp. 212–216 (2014)Google Scholar
  11. 11.
    Jun, Z., Zhi-Gong, W., Qing-Sheng, H., Jie, X.: Optimized design for high-speed parallel BCH encoder. In: Proceedings of 2005 IEEE International Workshop on VLSI Design and Video Technology, pp. 97–100 (2005)Google Scholar
  12. 12.
    Kim, K., Jeong, G.: Memory technologies for sub-40nm node. In: Proceedings of IEEE International Electron Devices Meeting (IEDM), pp. 27–30, December 2007Google Scholar
  13. 13.
    Munira, K., et al.: A quasi-analytical model for energy-delay-reliability tradeoff studies during write operations in a perpendicular STT-RAM cell. Electron Dev. 59(8), 2221–2226 (2012)CrossRefGoogle Scholar
  14. 14.
    Smullen, C.W., et al.: Relaxing non-volatility for fast and energy-efficient STT-RAM caches. In: HPCA, pp. 50–61 (2011)Google Scholar
  15. 15.
    Hocquenghem, A.: Codes correcteurs d’erreurs. Chiffres 2, 147–156 (1959). in FrenchMathSciNetGoogle Scholar
  16. 16.
    Bose, R.C., Ray-Chaudhuri, D.K.: On a class of error correcting binary group codes. Inf. Control 3(1), 68–79 (1960)MathSciNetCrossRefGoogle Scholar
  17. 17.
    Dong, X., Xu, C., Xie, Y., Jouppi, N.P.: NVSim: a circuit-level performance, energy, and area model for emerging nonvolatile memory. IEEE Trans. Comput.- Aided Des. Integr. Circ. Syst. 31(7), 994–1007 (2012)CrossRefGoogle Scholar
  18. 18.
    Gupta, Y., Bhargava, L.: Write energy reduction of STT-MRAM based multi-core cache hierarchies. Int. J. Electron. Lett. (2018).

Copyright information

© Springer Nature Singapore Pte Ltd. 2019

Authors and Affiliations

  • Keerthi Sagar Kokkiligadda
    • 1
    Email author
  • Yogendra Gupta
    • 1
  • Lava Bhargava
    • 1
  1. 1.Department of Electronics and CommunicationMalaviya National Institute of Technology, JaipurJaipurIndia

Personalised recommendations