Energy-efficient cache design using variable-strength error-correcting codes

Alaa R. Alameldeen, I. Wagner, Zeshan A. Chishti, Wei Wu, C. Wilkerson, Shih-Lien Lu
{"title":"Energy-efficient cache design using variable-strength error-correcting codes","authors":"Alaa R. Alameldeen, I. Wagner, Zeshan A. Chishti, Wei Wu, C. Wilkerson, Shih-Lien Lu","doi":"10.1145/2000064.2000118","DOIUrl":null,"url":null,"abstract":"Voltage scaling is one of the most effective mechanisms to improve microprocessors' energy efficiency. However, processors cannot operate reliably below a minimum voltage, Vccmin, since hardware structures may fail. Cell failures in large memory arrays (e.g., caches) typically determine Vccmin for the whole processor. We observe that most cache lines exhibit zero or one failures at low voltages. However, a few lines, especially in large caches, exhibit multi-bit failures and increase Vccmin. Previous solutions either significantly reduce cache capacity to enable uniform error correction across all lines, or significantly increase latency and bandwidth overheads when amortizing the cost of error-correcting codes (ECC) over large lines. In this paper, we propose a novel cache architecture that uses variable-strength error-correcting codes (VS-ECC). In the common case, lines with zero or one failures use a simple and fast ECC. A small number of lines with multi-bit failures use a strong multi-bit ECC that requires some additional area and latency. We present a novel dynamic cache characterization mechanism to determine which lines will exhibit multi-bit failures. In particular, we use multi-bit correction to protect a fraction of the cache after switching to low voltage, while dynamically testing the remaining lines for multi-bit failures. Compared to prior multi-bit-correcting proposals, VS-ECC significantly reduces power and energy, avoids significant reductions in cache capacity, incurs little area overhead, and avoids large increases in latency and bandwidth.","PeriodicalId":340732,"journal":{"name":"2011 38th Annual International Symposium on Computer Architecture (ISCA)","volume":"30 3 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2011-06-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"165","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2011 38th Annual International Symposium on Computer Architecture (ISCA)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2000064.2000118","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 165

Abstract

Voltage scaling is one of the most effective mechanisms to improve microprocessors' energy efficiency. However, processors cannot operate reliably below a minimum voltage, Vccmin, since hardware structures may fail. Cell failures in large memory arrays (e.g., caches) typically determine Vccmin for the whole processor. We observe that most cache lines exhibit zero or one failures at low voltages. However, a few lines, especially in large caches, exhibit multi-bit failures and increase Vccmin. Previous solutions either significantly reduce cache capacity to enable uniform error correction across all lines, or significantly increase latency and bandwidth overheads when amortizing the cost of error-correcting codes (ECC) over large lines. In this paper, we propose a novel cache architecture that uses variable-strength error-correcting codes (VS-ECC). In the common case, lines with zero or one failures use a simple and fast ECC. A small number of lines with multi-bit failures use a strong multi-bit ECC that requires some additional area and latency. We present a novel dynamic cache characterization mechanism to determine which lines will exhibit multi-bit failures. In particular, we use multi-bit correction to protect a fraction of the cache after switching to low voltage, while dynamically testing the remaining lines for multi-bit failures. Compared to prior multi-bit-correcting proposals, VS-ECC significantly reduces power and energy, avoids significant reductions in cache capacity, incurs little area overhead, and avoids large increases in latency and bandwidth.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
采用可变强度纠错码的节能缓存设计
电压缩放是提高微处理器能效的最有效机制之一。然而,处理器不能在低于最低电压(Vccmin)的情况下可靠地运行,因为硬件结构可能会失效。大型存储器阵列(例如,缓存)中的单元故障通常决定整个处理器的Vccmin。我们观察到大多数缓存线在低电压下表现为零或一个故障。但是,有几行,特别是在大型缓存中,会出现多比特故障并增加Vccmin。以前的解决方案要么显着减少缓存容量,以便在所有线路上实现统一的纠错,要么显着增加延迟和带宽开销,以便在大型线路上分摊纠错码(ECC)的成本。在本文中,我们提出了一种使用可变强度纠错码(VS-ECC)的新型缓存架构。在通常情况下,零或一个故障的线路使用简单快速的ECC。少数具有多位故障的线路使用强大的多位ECC,这需要一些额外的面积和延迟。我们提出了一种新的动态缓存表征机制来确定哪些线路会出现多比特故障。特别是,我们在切换到低电压后使用多位校正来保护一小部分缓存,同时动态测试剩余线路的多位故障。与之前的多比特纠错方案相比,VS-ECC大大降低了功耗和能量,避免了缓存容量的大幅减少,面积开销很小,避免了延迟和带宽的大幅增加。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Crafting a usable microkernel, processor, and I/O system with strict and provable information flow security Exploring the tradeoffs between programmability and efficiency in data-parallel accelerators Scalable power control for many-core architectures running multi-threaded applications Virtualizing performance asymmetric multi-core systems DBAR: An efficient routing algorithm to support multiple concurrent applications in networks-on-chip
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1