Protecting caches from soft errors

A microarchitect's perspective

Yohan Ko, Reiley Jeyapaul, Youngbin Kim, Kyoungwoo Lee, Aviral Shrivastava

Research output: Contribution to journalReview article

Abstract

Soft error is one of the most important design concerns in modern embedded systems with aggressive technology scaling. Among various microarchitectural components in a processor, cache is the most susceptible component to soft errors. Error detection and correction codes are common protection techniques for cache memory due to their design simplicity. In order to design effective protection techniques for caches, it is important to quantitatively estimate the susceptibility of caches without and even with protections. At the architectural level, vulnerability is the metric to quantify the susceptibility of data in caches. However, existing tools and techniques calculate the vulnerability of data in caches through coarse-grained block-level estimation. Further, they ignore common cache protection techniques such as error detection and correction codes. In this article, we demonstrate that our word-level vulnerability estimation is accurate through intensive fault injection campaigns as compared to block-level one. Further, our extensive experiments over benchmark suites reveal several counter-intuitive and interesting results. Parity checking when performed over just reads provides reliable and power-efficient protection than that when performed over both reads and writes. On the other hand, checking error correcting codes only at reads alone can be vulnerable even for single-bit soft errors, while that at both reads and writes provides the perfect reliability.

Original languageEnglish
Article number93
JournalACM Transactions on Embedded Computing Systems
Volume16
Issue number4
DOIs
Publication statusPublished - 2017 May 1

Fingerprint

Error detection
Error correction
Cache memory
Embedded systems
Experiments

All Science Journal Classification (ASJC) codes

  • Software
  • Hardware and Architecture

Cite this

Ko, Yohan ; Jeyapaul, Reiley ; Kim, Youngbin ; Lee, Kyoungwoo ; Shrivastava, Aviral. / Protecting caches from soft errors : A microarchitect's perspective. In: ACM Transactions on Embedded Computing Systems. 2017 ; Vol. 16, No. 4.
@article{fcad41d1fcd644a29b9e31eb7dbcfd43,
title = "Protecting caches from soft errors: A microarchitect's perspective",
abstract = "Soft error is one of the most important design concerns in modern embedded systems with aggressive technology scaling. Among various microarchitectural components in a processor, cache is the most susceptible component to soft errors. Error detection and correction codes are common protection techniques for cache memory due to their design simplicity. In order to design effective protection techniques for caches, it is important to quantitatively estimate the susceptibility of caches without and even with protections. At the architectural level, vulnerability is the metric to quantify the susceptibility of data in caches. However, existing tools and techniques calculate the vulnerability of data in caches through coarse-grained block-level estimation. Further, they ignore common cache protection techniques such as error detection and correction codes. In this article, we demonstrate that our word-level vulnerability estimation is accurate through intensive fault injection campaigns as compared to block-level one. Further, our extensive experiments over benchmark suites reveal several counter-intuitive and interesting results. Parity checking when performed over just reads provides reliable and power-efficient protection than that when performed over both reads and writes. On the other hand, checking error correcting codes only at reads alone can be vulnerable even for single-bit soft errors, while that at both reads and writes provides the perfect reliability.",
author = "Yohan Ko and Reiley Jeyapaul and Youngbin Kim and Kyoungwoo Lee and Aviral Shrivastava",
year = "2017",
month = "5",
day = "1",
doi = "10.1145/3063180",
language = "English",
volume = "16",
journal = "Transactions on Embedded Computing Systems",
issn = "1539-9087",
publisher = "Association for Computing Machinery (ACM)",
number = "4",

}

Protecting caches from soft errors : A microarchitect's perspective. / Ko, Yohan; Jeyapaul, Reiley; Kim, Youngbin; Lee, Kyoungwoo; Shrivastava, Aviral.

In: ACM Transactions on Embedded Computing Systems, Vol. 16, No. 4, 93, 01.05.2017.

Research output: Contribution to journalReview article

TY - JOUR

T1 - Protecting caches from soft errors

T2 - A microarchitect's perspective

AU - Ko, Yohan

AU - Jeyapaul, Reiley

AU - Kim, Youngbin

AU - Lee, Kyoungwoo

AU - Shrivastava, Aviral

PY - 2017/5/1

Y1 - 2017/5/1

N2 - Soft error is one of the most important design concerns in modern embedded systems with aggressive technology scaling. Among various microarchitectural components in a processor, cache is the most susceptible component to soft errors. Error detection and correction codes are common protection techniques for cache memory due to their design simplicity. In order to design effective protection techniques for caches, it is important to quantitatively estimate the susceptibility of caches without and even with protections. At the architectural level, vulnerability is the metric to quantify the susceptibility of data in caches. However, existing tools and techniques calculate the vulnerability of data in caches through coarse-grained block-level estimation. Further, they ignore common cache protection techniques such as error detection and correction codes. In this article, we demonstrate that our word-level vulnerability estimation is accurate through intensive fault injection campaigns as compared to block-level one. Further, our extensive experiments over benchmark suites reveal several counter-intuitive and interesting results. Parity checking when performed over just reads provides reliable and power-efficient protection than that when performed over both reads and writes. On the other hand, checking error correcting codes only at reads alone can be vulnerable even for single-bit soft errors, while that at both reads and writes provides the perfect reliability.

AB - Soft error is one of the most important design concerns in modern embedded systems with aggressive technology scaling. Among various microarchitectural components in a processor, cache is the most susceptible component to soft errors. Error detection and correction codes are common protection techniques for cache memory due to their design simplicity. In order to design effective protection techniques for caches, it is important to quantitatively estimate the susceptibility of caches without and even with protections. At the architectural level, vulnerability is the metric to quantify the susceptibility of data in caches. However, existing tools and techniques calculate the vulnerability of data in caches through coarse-grained block-level estimation. Further, they ignore common cache protection techniques such as error detection and correction codes. In this article, we demonstrate that our word-level vulnerability estimation is accurate through intensive fault injection campaigns as compared to block-level one. Further, our extensive experiments over benchmark suites reveal several counter-intuitive and interesting results. Parity checking when performed over just reads provides reliable and power-efficient protection than that when performed over both reads and writes. On the other hand, checking error correcting codes only at reads alone can be vulnerable even for single-bit soft errors, while that at both reads and writes provides the perfect reliability.

UR - http://www.scopus.com/inward/record.url?scp=85019840029&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=85019840029&partnerID=8YFLogxK

U2 - 10.1145/3063180

DO - 10.1145/3063180

M3 - Review article

VL - 16

JO - Transactions on Embedded Computing Systems

JF - Transactions on Embedded Computing Systems

SN - 1539-9087

IS - 4

M1 - 93

ER -