更正錯誤記憶體(英語:Error-Correcting Code memory,縮寫:ECC memoryECC)指能够实现错误检查和纠正错误技术的内存。

ECC RAM 每面均有9枚記憶體顆粒,比普通的多1枚

技术原理

编辑

在ECC技术出现之前,内存中应用最多的另外一种錯誤檢查技术,是奇偶校验位技術。

数位电路中,最小的数据单位是“比特(bit)”,也叫“位元”。“比特”也是内存中的最小单位,它是通过“1”和“0”来表示数据高、低电頻信号。在数字电路中8个连续的比特是一字节,不带“奇偶校验”的内存中的每个字节只有8位,若它的某一位存储出了错误,就会使其中存储的相应数据发生改变而导致应用程序发生错误。

而带有“奇偶校验”的内存在每一字节(8位)外又额外增加了一位用来进行错误检测。比如一个字节中存储了某一数值(1、0、1、0、1、0、1、1),把这每一位相加起来(1+0+1+0+1+0+1+1=5)。对于偶校验,若其结果是奇数,校验位就定义为1,反之则为0;对于奇校验则相反。当CPU返回读取存储的数据时,它会再次相加前8位中存储的数据,计算结果是否与校验位相一致。当CPU发现二者不同时就会试图纠正这些错误。

但奇偶校验位技术有个缺点,当内存查到某个数据位有错误时,由于不一定能确定错误在哪一个位,也就不一定能修正错误。所以带有奇偶校验的内存的主要功能仅仅是“发现错误”,并不能纠正错误。

此外,奇偶校验技术是通过在原来数据位的基础上增加一个数据位来检查当前8位数据的正确性,但随着数据位的增加,用来检验的数据位也成倍增加,就是说当数据位为16位时它需要增加2位用于检查,当数据位为32位时则需增加4位,依此类推。特别是当数据量非常大时,数据出错的几率也就越大,对于只能纠正简单错误的奇偶检验的方法就显得力不从心了。正是基于这样一种情况,错误检查和纠正(Error Checking and Correcting)应运而生了。

ECC与奇偶校验不同的是,如果数据位是8位,则需要增加5位来进行ECC错误检查和纠正。数据位每增加一倍,ECC只增加一位检验位。也就是说当数据位为16位时ECC位为6位,32位时ECC位为7位,数据位为64位时ECC位为8位,依此类推。在内存中ECC能够容许错误,并可以将错误自动更正,使系统得以正常的操作,不致因错误而中断。

误解

编辑

部份人認為伺服器必須使用ECC内存,认为ECC内存效能較高,其实是一种謬誤。ECC内存之所以廣泛應用於伺服器領域,并非其效能,而是因为ECC內存的纠错能力,使伺服器保持稳定。

ECC本身并不是一种内存型号,也不是一种内存专用技术,它是一种广泛应用于各种领域的计算机中的纠错技术。

备注

编辑

带ECC校验的内存还得要电脑其他部件支持才能正常使用,例如主板和CPU[1](并且可能要在BIOS中进行相应的设置),应用在大多数服务器CPU和主板上(一些非服务器CPU和主板也支持)。还有,在购买ECC内存时,需注意是ECC UDIMM、ECC RDIMM、ECC LRDIMM、ECC 3DS RDIMM还是其他,因為你的电脑其他部件可能不支持某些种类。

參考文獻

编辑
  1. ^ Server Memory: Types and Performance | Crucial.com. Crucial. [2020-08-09] (美国英语). 

外部連結

编辑

📚 Artikel Terkait di Wikipedia

ECC

ECC可能指: 纠错码(error correction code) 纠错内存(Error-Correcting Code memory) 椭圆曲线密码学 工程用水泥基复合材料

纠错码

在计算机,电信,信息理论和编码理论中,纠错码(ECC,error correction/correcting code)是信息传输中错误检测与纠正的工具。它通常用在不可靠或嘈杂的信道中。数据发送方利用纠错码中的冗余信息,使得接收方能够检测消息传输中发生的错误,而且通常可以纠正这些错误而无需重新传输。美国数学家理查德·汉明(Richard

量子纠错

Guo-Yong; Xin, Tao; Yin, Zhang-Qi; Zeng, Bei. Testing a quantum error-correcting code on various platforms. Science Bulletin. 2021, 66 (1): 29–35. Bibcode:2021SciBu

错误检测与纠正

有几个系统也支持内存刷洗。 伯格码(英语:Berger code) 突发错误纠正码(英语:Burst error-correcting code) 前向錯誤更正 自適應調變和編碼 错误检测与纠正算法列表(英语:List of algorithms#Error detection and correction)

卷积码

卷積碼(英語:convolution code)是頻道編碼(channel coding)技術的一種,在電信領域中,屬於一種糾錯碼(error-correcting code)。相對於分組碼,卷積碼維持頻道的記憶效應(memory property)。卷積碼的由來,是因為輸入的原始訊息資料會和編碼器

表面码

表面码(英語:Surface Code)是一种重要且极具前景的量子纠错码(QECC),属于稳定子码和拓扑量子纠错码(英語:topological quantum error correction code)的范畴。表面码因其具有较高的容错阈值、仅需最近邻相互作用以及对实际量子计算机硬件平台(特别是

颜色码 (量子计算)

颜色码在更高维度下展现出优异的容错特性。例如,理论研究表明,六维(6D)颜色码可以作为一种自校正量子存储器(self-correcting quantum memory),即在一定的噪声阈值和温度条件下,它能够被动地抵抗热噪声而无需主动纠错循环。进一步地,在七维(7D)构造下,颜色码被证明可以容错地实现一套通用的量子逻辑门集。

物理量子比特与逻辑量子比特

1038/s41586-022-05434-1.  Conover, Emily. Google's quantum computer reached an error-correcting milestone. ScienceNews. 2023-02-22 [2024-07-09]. (原始内容存档于2025-03-20)