LAEC: Look-Ahead Error Correction Codes in Embedded Processors L1 Data Cache

As implementation technology shrinks, the presence of errors in cache memories is becoming an increasing issue in all computing domains. Critical systems, e.g. space and automotive, are specially exposed and susceptible to reliability issues. Furthermore, hardware designs in these systems are migrating to multilevel cache multicore systems, in which write-through first level data (DL1) caches have been shown to heavily harm average and guaranteed performance. While write-back DL1 caches solve this problem they come with their own challenges: they need Error Correction Codes (ECC) to tolerate soft errors, but implementing DL1 ECC in simple embedded micro-controllers requires either complex hardware to squash instructions consuming erroneous data, or delayed delivery of data to correct potential errors, which impacts performance even if such process is pipelined. In this paper we present a low-complexity hardware mechanism to anticipate data fetch and error correction in DL1 so that both (1) correct data is always delivered, but (2) avoiding additional delays in most of the cases. This achieves both high guaranteed performance and an effective solutions against errors.

[1]  Israel Koren,et al.  Defect tolerance in VLSI circuits: techniques and yield analysis , 1998, Proc. IEEE.

[2]  Yiran Chen,et al.  Tolerating process variations in large, set-associative caches: The buddy cache , 2009, TACO.

[3]  Rakesh Kumar,et al.  Correction prediction: Reducing error correction latency for on-chip memories , 2015, 2015 IEEE 21st International Symposium on High Performance Computer Architecture (HPCA).

[4]  Seth H. Pugsley,et al.  Efficiently prefetching complex address patterns , 2015, 2015 48th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[5]  Bojan Maric Cache designs for reliable hybrid high and ultra-low voltage operation , 2014 .

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

[7]  D. Strukov,et al.  The area and latency tradeoffs of binary bit-parallel BCH decoders for prospective nanoelectronic memories , 2006, 2006 Fortieth Asilomar Conference on Signals, Systems and Computers.

[8]  Francisco J. Cazorla,et al.  HWP: Hardware Support to Reconcile Cache Energy, Complexity, Performance and WCET Estimates in Multicore Real-Time Systems , 2018, ECRTS.

[9]  Mateo Valero,et al.  Efficient cache architectures for reliable hybrid voltage operation using EDC codes , 2013, 2013 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[10]  Jason A. Poovey Characterization of the EEMBC Benchmark Suite , 2007 .

[11]  N. Muralimanohar,et al.  CACTI 6 . 0 : A Tool to Understand Large Caches , 2007 .

[12]  Chin-Long Chen,et al.  Error-Correcting Codes for Semiconductor Memory Applications: A State-of-the-Art Review , 1984, IBM J. Res. Dev..

[13]  Azita Emami-Neyestanak,et al.  Tertiary-Tree 12-GHz 32-bit Adder in 65nm Technology , 2007, 2007 IEEE International Symposium on Circuits and Systems.

[14]  Jeffrey S. Vetter,et al.  Reducing soft-error vulnerability of caches using data compression , 2016, 2016 International Great Lakes Symposium on VLSI (GLSVLSI).

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

[16]  Wei Wu,et al.  Reducing cache power with low-cost, multi-bit error-correcting codes , 2010, ISCA.

[17]  Michael Paulitsch,et al.  Mixed-Criticality Embedded Systems -- A Balance Ensuring Partitioning and Performance , 2015, 2015 Euromicro Conference on Digital System Design.

[18]  Björn Andersson,et al.  Response Time Analysis of COTS-Based Multicores Considering the Contention on the Shared Memory Bus , 2011, 2011IEEE 10th International Conference on Trust, Security and Privacy in Computing and Communications.

[19]  Francisco J. Cazorla,et al.  RVC: a mechanism for time-analyzable real-time processors with faulty caches , 2011, HiPEAC.

[20]  Mateo Valero,et al.  Analyzing the Efficiency of L1 Caches for Reliable Hybrid-Voltage Operation Using EDC Codes , 2014, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.