Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
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)
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)
Meggitt, J.: Error correcting codes and their implementation for data transmission systems. IRE Trans. Inf. Theory 7(4), 234–244 (1961)
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)
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)
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)
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)
Kang, W., et al.: A low-cost built-in error correction circuit design for STT-MRAM reliability improvement. Microelectron. Reliab. 53, 1224–1229 (2013)
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)
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)
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)
Kim, K., Jeong, G.: Memory technologies for sub-40nm node. In: Proceedings of IEEE International Electron Devices Meeting (IEDM), pp. 27–30, December 2007
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)
Smullen, C.W., et al.: Relaxing non-volatility for fast and energy-efficient STT-RAM caches. In: HPCA, pp. 50–61 (2011)
Hocquenghem, A.: Codes correcteurs d’erreurs. Chiffres 2, 147–156 (1959). in French
Bose, R.C., Ray-Chaudhuri, D.K.: On a class of error correcting binary group codes. Inf. Control 3(1), 68–79 (1960)
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)
Gupta, Y., Bhargava, L.: Write energy reduction of STT-MRAM based multi-core cache hierarchies. Int. J. Electron. Lett. (2018). https://doi.org/10.1080/21681724.2018.1482005
Acknowledgement
This work is partly supported by SMDPC2SD project, sponsored by Ministry of Electronics & Information of Technology, Government of India.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Singapore Pte Ltd.
About this paper
Cite this paper
Kokkiligadda, K.S., Gupta, Y., Bhargava, L. (2019). Efficient and Failure Aware ECC for STT-MRAM Cache Memory. In: Rajaram, S., Balamurugan, N., Gracia Nirmala Rani, D., Singh, V. (eds) VLSI Design and Test. VDAT 2018. Communications in Computer and Information Science, vol 892. Springer, Singapore. https://doi.org/10.1007/978-981-13-5950-7_43
Download citation
DOI: https://doi.org/10.1007/978-981-13-5950-7_43
Published:
Publisher Name: Springer, Singapore
Print ISBN: 978-981-13-5949-1
Online ISBN: 978-981-13-5950-7
eBook Packages: Computer ScienceComputer Science (R0)