服务器百问百答:什么是ECC内存?它比Parity(奇偶校正)内存有什么优点?

 我来答
很天真很幼稚
2008-05-06 · 超过18用户采纳过TA的回答
知道答主
回答量:48
采纳率:0%
帮助的人:0
展开全部
  ECC是“Error Checking and Correcting”的简写,中文名称是“错误检查和纠正”。ECC是一种能够实现“错误检查和纠正”的技术,ECC内存就是应用了这种技术的内存,一般多应用在服务器及图形工作站上,这将使整个电脑系统在工作时更趋于安全稳定。
  要了解ECC技术,就不能不提到Parity(奇偶校验)。在ECC技术出现之前,内存中应用最多的是另外一种技术,就是Parity(奇偶校验)。我们知道,在数字电路中,最小的数据单位就是叫“比特(bit)”,也叫数据“位”,“比特”也是内存中的最小单位,它是通过“1”和“0”来表示数据高、低电平信号的。在数字电路中8个连续的比特是一个字节(byte),在内存中不带“奇偶校验”的内存中的每个字节只有8位,若它的某一位存储出了错误,就会使其中存储的相应数据发生改变而导致应用程序发生错误。而带有“奇偶校验”的内存在每一字节(8位)外又额外增加了一位用来进行错误检测。比如一个字节中存储了某一数值(1、0、1、0、1、0、1、1),把这每一位相加起来(1+0+1+0+1+0+1+1=5)。若其结果是奇数,对于偶校验,校验位就定义为1,反之则为0;对于奇校验,则相反。当CPU返回读取存储的数据时,它会再次相加前8位中存储的数据,计算结果是否与校验位相一致。当CPU发现二者不同时就作出视图纠正这些错误,但Parity有个缺点,当内存查到某个数据位有错误时,却并不一定能确定在哪一个位,也就不一定能修正错误,所以带有奇偶校验的内存的主要功能仅仅是“发现错误”,并能纠正部分简单的错误。
  通过上面的分析我们知道Parity内存是通过在原来数据位的基础上增加一个数据位来检查当前8位数据的正确性,但随着数据位的增加Parity用来检验的数据位也成倍增加,就是说当数据位为16位时它需要增加2位用于检查,当数据位为32位时则需增加4位,依此类推。特别是当数据量非常大时,数据出错的几率也就越大,对于只能纠正简单错误的奇偶检验的方法就显得力不从心了,正是基于这样一种情况,一种新的内存技术应允而生了,这就是ECC(错误检查和纠正),这种技术也是在原来的数据位上外加校验位来实现的。不同的是两者增加的方法不一样,这也就导致了两者的主要功能不太一样。它与Parity不同的是如果数据位是8位,则需要增加5位来进行ECC错误检查和纠正,数据位每增加一倍,ECC只增加一位检验位,也就是说当数据位为16位时ECC位为6位,32位时ECC位为7位,数据位为64位时ECC位为8位,依此类推,数据位每增加一倍,ECC位只增加一位。总之,在内存中ECC能够容许错误,并可以将错误更正,使系统得以持续正常的操作,不致因错误而中断,且ECC具有自动更正的能力,可以将Parity无法检查出来的错误位查出并将错误修正。

  目前一些厂商推出的入门级低端服务器使用的多是普通PC用的SD RAM,不带ECC功能,在选购时应该注意这个指标。

  ---------------------------------------------------------------------

  奇偶校验位(Parity),在数据存储和传输中,字节中额外增加一个比特位,用来检验错误。它常常是从两个或更多的原始数据中产生一个冗余数据,冗余数据可以从一个原始数据中进行重建。不过,奇偶校验数据并不是对原始数据的完全复制。
东莞市友贸实业有限公司_
2023-11-22 广告
第五代双倍数据速率DDR5双列直插式内存模块是一种高速、高性能的内存模块,适用于需要高带宽和低延迟的应用场景。与前几代内存模块相比,DDR5双列直插式内存模块具有更高的数据传输速率和更低的功耗,同时提供了更大的内存容量和更高的可靠性。在数据... 点击进入详情页
本回答由东莞市友贸实业有限公司_提供
康康侃球
2008-05-05 · 知道合伙人教育行家
康康侃球
知道合伙人教育行家
采纳数:52415 获赞数:349906
1996年毕业于湖北汽车学院汽车电子专业,中专学历。从事机电行业近20余年。

向TA提问 私信TA
展开全部
ECC是“Error Checking and Correcting”的简写,中文名称是“错误检查和纠正”。ECC是一种能够实现“错误检查和纠正”的技术,ECC内存就是应用了这种技术的内存,一般多应用在服务器及图形工作站上,这将使整个电脑系统在工作时更趋于安全稳定。

要了解ECC技术,就不能不提到Parity(奇偶校验)。在ECC技术出现之前,内存中应用最多的是另外一种技术,就是Parity(奇偶校验)。我们知道,在数字电路中,最小的数据单位就是叫“比特(bit)”,也叫数据“位”,“比特”也是内存中的最小单位,它是通过“1”和“0”来表示数据高、低电平信号的。在数字电路中8个连续的比特是一个字节(byte),在内存中不带“奇偶校验”的内存中的每个字节只有8位,若它的某一位存储出了错误,就会使其中存储的相应数据发生改变而导致应用程序发生错误。而带有“奇偶校验”的内存在每一字节(8位)外又额外增加了一位用来进行错误检测。比如一个字节中存储了某一数值(1、0、1、0、1、0、1、1),把这每一位相加起来(1+0+1+0+1+0+1+1=5)。若其结果是奇数,对于偶校验,校验位就定义为1,反之则为0;对于奇校验,则相反。当CPU返回读取存储的数据时,它会再次相加前8位中存储的数据,计算结果是否与校验位相一致。当CPU发现二者不同时就作出视图纠正这些错误,但Parity有个缺点,当内存查到某个数据位有错误时,却并不一定能确定在哪一个位,也就不一定能修正错误,所以带有奇偶校验的内存的主要功能仅仅是“发现错误”,并能纠正部分简单的错误。

通过上面的分析我们知道Parity内存是通过在原来数据位的基础上增加一个数据位来检查当前8位数据的正确性,但随着数据位的增加Parity用来检验的数据位也成倍增加,就是说当数据位为16位时它需要增加2位用于检查,当数据位为32位时则需增加4位,依此类推。特别是当数据量非常大时,数据出错的几率也就越大,对于只能纠正简单错误的奇偶检验的方法就显得力不从心了,正是基于这样一种情况,一种新的内存技术应允而生了,这就是ECC(错误检查和纠正),这种技术也是在原来的数据位上外加校验位来实现的。不同的是两者增加的方法不一样,这也就导致了两者的主要功能不太一样。它与Parity不同的是如果数据位是8位,则需要增加5位来进行ECC错误检查和纠正,数据位每增加一倍,ECC只增加一位检验位,也就是说当数据位为16位时ECC位为6位,32位时ECC位为7位,数据位为64位时ECC位为8位,依此类推,数据位每增加一倍,ECC位只增加一位。总之,在内存中ECC能够容许错误,并可以将错误更正,使系统得以持续正常的操作,不致因错误而中断,且ECC具有自动更正的能力,可以将Parity无法检查出来的错误位查出并将错误修正。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式