On-Chip ECC for Multi-Level Random Access Memories

R. Goodman, M. Sayano
{"title":"On-Chip ECC for Multi-Level Random Access Memories","authors":"R. Goodman, M. Sayano","doi":"10.1109/ITW.1989.761433","DOIUrl":null,"url":null,"abstract":"In this talk we investigate a number of on-chip coding techniques for the protection of Random Access Memories which use multi-level as opposed to binary storage cells. The motivation for such RAM cells is of course the storage \nof several bits per cell as opposed to one bit per cell [l]. \nSince the typical number of levels which a multi-level RAM can handle is 16 (the cell being based on a standard DRAM \ncell which has varying amounts of voltage stored on \nit) there are four bits recorded into each cell [2]. The disadvantage of multi-level RAMs is that they are much \nmore prone to errors, and so on-chip ECC is essential for reliable operation. There are essentially three reasons for error control coding in multi-level RAMs: To \ncorrect soft errors, to correct hard errors, and to \ncorrect read errors. The source of these errors is, \nrespectively, alpha particle radiation, hardware faults, and \ndata level ambiguities. On-chip error correction can be \nused to increase the mean life before failure for all three types of errors. Coding schemes can be both bitwise and \ncellwise. Bitwise schemes include simple parity checks and SEC-DED codes, either by themselves or as product codes \n[3]. Data organization should allow for burst error correction, since alpha particles can wipe out all \nfour bits in a single cell, and for dense memory chips, \ndata in surrounding cells as well. This latter effect becomes more serious as feature sizes are scaled, and \na single alpha particle hit affects many adjacent cells. Burst codes such as those in [4] can be used to correct for \nthese errors. Bitwise coding schemes are more efficient \nin correcting read errors, since they can correct single bit \nerrors and allow the remaining error correction power to be \nused elsewhere. Read errors essentially affect one bit \nonly, since the use of Grey codes for encoding the bits \ninto the memory cells ensures that at most one bit is flipped with each successive change in level. Cellwise schemes include Reed-Solomon codes, hexadecimal \ncodes, and product codes. However, simple encoding and decoding algorithms are necessary, since excessive space taken by powerful but complex encoding/decoding circuits can \nbe offset by having more parity cells and using simpler \ncodes. These coding techniques are more useful for correcting hard and soft errors which affect the entire cell. They tend to be more complex, and they are not as \nefficient in correcting read errors as the bitwise codes. \nIn the talk we will investigate the suitability and \nperformance of various multi-level RAM coding schemes, \nsuch as row-column codes, burst codes, hexadecimal codes, Reed-Solomon codes, concatenated codes, and some new majority-logic decodable codes. In particular we investigate their tolerance to soft errors, and to feature size scaling.","PeriodicalId":413028,"journal":{"name":"IEEE/CAM Information Theory Workshop at Cornell","volume":"186 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1989-06-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"IEEE/CAM Information Theory Workshop at Cornell","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ITW.1989.761433","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 3

Abstract

In this talk we investigate a number of on-chip coding techniques for the protection of Random Access Memories which use multi-level as opposed to binary storage cells. The motivation for such RAM cells is of course the storage of several bits per cell as opposed to one bit per cell [l]. Since the typical number of levels which a multi-level RAM can handle is 16 (the cell being based on a standard DRAM cell which has varying amounts of voltage stored on it) there are four bits recorded into each cell [2]. The disadvantage of multi-level RAMs is that they are much more prone to errors, and so on-chip ECC is essential for reliable operation. There are essentially three reasons for error control coding in multi-level RAMs: To correct soft errors, to correct hard errors, and to correct read errors. The source of these errors is, respectively, alpha particle radiation, hardware faults, and data level ambiguities. On-chip error correction can be used to increase the mean life before failure for all three types of errors. Coding schemes can be both bitwise and cellwise. Bitwise schemes include simple parity checks and SEC-DED codes, either by themselves or as product codes [3]. Data organization should allow for burst error correction, since alpha particles can wipe out all four bits in a single cell, and for dense memory chips, data in surrounding cells as well. This latter effect becomes more serious as feature sizes are scaled, and a single alpha particle hit affects many adjacent cells. Burst codes such as those in [4] can be used to correct for these errors. Bitwise coding schemes are more efficient in correcting read errors, since they can correct single bit errors and allow the remaining error correction power to be used elsewhere. Read errors essentially affect one bit only, since the use of Grey codes for encoding the bits into the memory cells ensures that at most one bit is flipped with each successive change in level. Cellwise schemes include Reed-Solomon codes, hexadecimal codes, and product codes. However, simple encoding and decoding algorithms are necessary, since excessive space taken by powerful but complex encoding/decoding circuits can be offset by having more parity cells and using simpler codes. These coding techniques are more useful for correcting hard and soft errors which affect the entire cell. They tend to be more complex, and they are not as efficient in correcting read errors as the bitwise codes. In the talk we will investigate the suitability and performance of various multi-level RAM coding schemes, such as row-column codes, burst codes, hexadecimal codes, Reed-Solomon codes, concatenated codes, and some new majority-logic decodable codes. In particular we investigate their tolerance to soft errors, and to feature size scaling.
片上ECC多级随机存取存储器
在这次演讲中,我们研究了一些用于保护随机存取存储器的片上编码技术,这些存储器使用多级而不是二进制存储单元。这种RAM单元的动机当然是每个单元存储几个比特,而不是每个单元存储一个比特[1]。由于多级RAM可以处理的典型电平数是16(单元基于标准的DRAM单元,其上存储有不同数量的电压),因此每个单元中记录了4位[2]。多级ram的缺点是更容易出错,因此片上ECC对于可靠运行至关重要。在多级ram中进行错误控制编码主要有三个原因:纠正软错误、纠正硬错误和纠正读错误。这些错误的来源分别是α粒子辐射、硬件故障和数据级模糊。片上纠错可用于增加所有三种类型的错误失效前的平均寿命。编码方案可以是位的,也可以是单元的。位方案包括简单的奇偶校验和SEC-DED码,可以单独使用,也可以作为产品码[3]。数据组织应该允许突发错误纠正,因为α粒子可以清除单个单元中的所有四位,对于密集存储芯片,也可以清除周围单元中的数据。后一种效应随着特征尺寸的缩放而变得更加严重,单个α粒子的撞击会影响许多相邻的细胞。如[4]中的突发代码可以用来纠正这些错误。位编码方案在纠正读错误方面更有效,因为它们可以纠正单个比特错误,并允许将剩余的纠错能力用于其他地方。读取错误基本上只影响一个比特,因为使用灰色编码将比特编码到存储单元中,确保每次连续的电平变化最多翻转一个比特。蜂窝方案包括里德-所罗门码、十六进制码和产品码。然而,简单的编码和解码算法是必要的,因为强大但复杂的编码/解码电路占用的过多空间可以通过使用更多的奇偶校验单元和使用更简单的代码来抵消。这些编码技术对于纠正影响整个细胞的硬错误和软错误更有用。它们往往更复杂,而且在纠正读错误方面不如按位编码有效。在演讲中,我们将研究各种多级RAM编码方案的适用性和性能,例如行列码、突发码、十六进制码、里德-所罗门码、连接码和一些新的多数逻辑可解码码。我们特别研究了它们对软错误和特征尺寸缩放的容忍度。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信