Exploiting a fast and simple ECC for scaling supply voltage in level-1 caches

Scaling supply voltage to near-threshold is a very effective approach in reducing the energy consumption of computer systems. However, executing below the safe operation margin of supply voltage introduces high number of persistent failures, especially in memory structures. Thus, it is essential to provide reliability schemes to tolerate these persistent failures in the memory structures. In this study, we adopt a Single Error Correction Multiple Adjacent Error Correction (SEC-MAEC) code in order to minimize the energy consumption of L1 caches. In our evaluations, we present that the SEC-MAEC code is a fast and energy efficient Error Correcting Code (ECC). It presents 10X less area overhead and 2X less latency for the decoder compared to Orthogonal Latin Square Code, the state-of-the art ECC utilized in the L1 cache under the scaling supply voltage.

[1]  Wei Wu,et al.  Energy-efficient cache design using variable-strength error-correcting codes , 2011, 2011 38th Annual International Symposium on Computer Architecture (ISCA).

[2]  Alaa R. Alameldeen,et al.  Trading off Cache Capacity for Reliability to Enable Low Voltage Operation , 2008, 2008 International Symposium on Computer Architecture.

[3]  Matteo Sonza Reorda,et al.  Permanent faults on LIN networks: On-line test generation , 2014, 2014 IEEE 20th International On-Line Testing Symposium (IOLTS).

[4]  Wei Wu,et al.  Improving cache lifetime reliability at ultra-low voltages , 2009, 2009 42nd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[5]  Antonio María González Colás,et al.  Low Vccmin fault-tolerant cache with highly predictable performance , 2009, MICRO 2009.

[6]  Marco Ottavi,et al.  Low-cost single error correction multiple adjacent error correction codes , 2012 .

[7]  Ram Huggahalli,et al.  Impact of Cache Coherence Protocols on the Processing of Network Traffic , 2007, 40th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO 2007).

[8]  Saurabh Dighe,et al.  A 280mV-to-1.2V wide-operating-range IA-32 processor in 32nm CMOS , 2012, 2012 IEEE International Solid-State Circuits Conference.

[9]  H. Fujiwara,et al.  An Area-Conscious Low-Voltage-Oriented 8T-SRAM Design under DVS Environment , 2007, 2007 IEEE Symposium on VLSI Circuits.

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

[11]  James Dinan,et al.  Parichute: Generalized Turbocode-Based Error Correction for Near-Threshold Caches , 2010, 2010 43rd Annual IEEE/ACM International Symposium on Microarchitecture.

[12]  Mateo Valero,et al.  APPLE: Adaptive Performance-Predictable Low-Energy caches for reliable hybrid voltage operation , 2013, 2013 50th ACM/EDAC/IEEE Design Automation Conference (DAC).

[13]  D. C. Bossen,et al.  Orthogonal latin square codes , 1970 .

[14]  Karthikeyan Sankaralingam,et al.  Dark Silicon and the End of Multicore Scaling , 2012, IEEE Micro.

[15]  Babak Falsafi,et al.  Multi-bit Error Tolerant Caches Using Two-Dimensional Error Coding , 2007, 40th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO 2007).

[16]  Magdy S. Abadir,et al.  Multivariate outlier modeling for capturing customer returns — How simple it can be , 2014, 2014 IEEE 20th International On-Line Testing Symposium (IOLTS).

[17]  Kaushik Roy,et al.  A 160 mV Robust Schmitt Trigger Based , 2007 .