ECC内存,即应用了能够实现错误检查和纠正技术(ECC)的内存条。一般多应用在服务器图形工作站上,这将使整个电脑系统在工作时更趋于安全稳定。ECC是“Error Checking and Correcting”的简写,中文名称是“错误检查和纠正”。
 
1基本信息

技术原理

要了解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用的SDRAM,不带ECC功能,在选购时应该注意这个指标。

2ECC内存误区

目前是一谈到服务器内存,大家都一致强调要买ECC内存,认为ECC内存速度快,其实是一种错误地认识,ECC内存成功之处并不是因为它速度快(速度方面根本不关它事只与内存类型有关),而是因为它有特殊的纠错能力,使服务器保持稳定。ECC本身并不是一种内存型号,也不是一种内存专用技术,它是一种广泛应用于各种领域的计算机指令中,是一种指令纠错技术。它的英文全称是“Error Checking and Correcting”,对应的中文名称就叫做“错误检查和纠正”,从这个名称我们就可以看出它的主要功能就是“发现并纠正错误”,它比奇偶校正技术更先进的方面主要在于它不仅能发现错误,而且能纠正这些错误,这些错误纠正之后计算机才能正确执行下面的任务,确保服务器的正常运行。之所以说它并不是一种内存型号,那是因为并不是一种影响内存结构和存储速度的技术,它可以应用到不同的内存类型之中,就象我们在前面讲到的“奇偶校正”内存,它也不是一种内存,最开始应用这种技术的是EDO内存,现在的SD也有应用,而ECC内存主要是从SD内存开始得到广泛应用,而新的DDR、RDRAM也有相应的应用,目前主流的ECC内存其实是一种SD内存。

3备注

带ECC校验的内存还得要主板支持,并在BIOS中进行相应的设置,目前只应用在大多数服务器主板

ECC内存的更多相关文章

  1. 普通内存、ECC内存和REG ECC内存有什么不同

    都知道,在INTEL平台,北桥负责与CPU的联系,并控制内存.AGP.PCI数据在北桥内部传输.基本上只要主板芯片组确定,那么其支持的内存类型也就确定了. INTEL芯片组划分的很清楚,865PE属于 ...

  2. 浅谈数据库技术,磁盘冗余阵列,IP分配,ECC内存,ADO,DAO,JDBC

    整理-----数据库技术,磁盘冗余阵列,IP分配, ECC内存,ADO, DAO,JDBC 1.MySQL MySQL是最受欢迎的开源SQL数据库管理系统,它由 MySQL AB开发.发布和支持.My ...

  3. 解析ECC与RECC内存之间的区分

    普通的定义上区分:内存,是连接CPU 和其他设备的通道,起到缓冲和数据交换作用.当CPU在工作时,需要从硬盘等外部存储器上读取数据,但由于硬盘这个“仓库”太大,加上离CPU也很“远”,运输“原料”数据 ...

  4. [knowledge][basic][hardware] 内存的硬件结构(转)

    写的并不太易懂,但概念性的科普已足够. 原文地址:http://blog.csdn.net/miaomao1989/article/details/51508195 Memory中的Channel/R ...

  5. 说说NAND FLASH以及相关ECC校验方法

    Flash名称的由来,Flash的擦除操作是以block块为单位的,与此相对应的是其他很多存储设备,是以bit位为最小读取/写入的单位,Flash是一次性地擦除整个块:在发送一个擦除命令后,一次性地将 ...

  6. IBM内存三技术:Chipkill、MPX、MM

    转自:解析IBM内存三技术:Chipkill.MPX.MM 内存作为服务器中的又一个重要的组成部分,对于企业的应用起着十分重要的作用.如今,企业用户对于服务器的要求逐渐提升,使得在提高内存密度.增大内 ...

  7. 痞子衡嵌入式:简析i.MXRT1170 Cortex-M7 FlexRAM ECC功能特点、开启步骤、性能影响

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是恩智浦i.MXRT1170上Cortex-M7内核的FlexRAM ECC功能. ECC是"Error Correcting ...

  8. hadoop io PART1

    数据正确性检测的技术,通常使用checksum,在数据进行传输前,计算一个checksum值,传输到目标地之后,再根据新的文件计算checksum值,如果不匹配,则说明数据损坏或被改变.只能校验,不提 ...

  9. 自己家里搭建NAS服务器有什么好方案?

    转自:https://www.zhihu.com/question/21359049 作者:陈二发链接:https://www.zhihu.com/question/21359049/answer/6 ...

随机推荐

  1. dubbo注册服务IP解析异常及IP解析源码分析

    在使用dubbo注册服务时会遇到IP解析错误导致无法正常访问. 比如: 本机设置的IP为172.16.11.111, 但实际解析出来的是180.20.174.11 这样就导致这个Service永远也无 ...

  2. POSIX字符类型

    [:alnum:] 字母与数字 [:alpha:] 字母 [:blank:] 空格与制表符 [:cntrl:] 控制字符 [:digit:] 数字 [:graph:] 可打印的与可见的(不包括空格)字 ...

  3. ashx+html+ajax

    HTML: $(function() { ajax("NewsList.ashx", function(resText) { document.getElementById(&qu ...

  4. php字符串函数(1)

    下面去学习一下php的字符串函数,那么怎么去看手册呢,举个例子 int strcasecmp ( string $str1 , string $str2 ) 第一个int,表示此函数返回的类型是int ...

  5. github上建站和使用markdown写文章

    积累了那么久,终于成功搭建了github上的个人网站.虽然方法有点巧妙.不是还是建成了 同时学会用markdown写基本的文章.感觉还可以.附带我的github上的静态页面网站的网址:http://z ...

  6. .NET3.5中的高性能 Socket API

    转载:http://www.cnblogs.com/TianFang/archive/2007/11/09/954730.html 在 .NET Framework 2.0 版本中,System.Ne ...

  7. python基础知识五

    数据结构基本上就是---它们可以处理一些数据的结构.或者说,它们是用来存储一组相关数据的. python中有三种内建的数据结构---列表.元祖和字典. 我们将会学习如何使用它们,以及它们如何使编程变得 ...

  8. 查看oracle 启动了多久

    想看一下系统正常运行了多少天?开机多长时间没有重启了? windows系统 C:\>systeminfo |find “系统启动时间”系统启动时间:     265 天 4 小时 26 分 32 ...

  9. vi 替换字符串

    假如说我想把该文件中所有的Web替换成SOR_SYS,那么我们可以用vi打开该文件,然后按一下: 你的命令行的最后一行会出现:,这个时候就是提醒你输入替换的命令 %s/Web/SOR_SYS/g 按一 ...

  10. CSS Positioning(定位)

    Positioning(定位) CSS定位属性允许你为一个元素定位.它也可以将一个元素放在另一个元素后面,并指定一个元素的内容太大时,应该发生什么. 元素可以使用的顶部,底部,左侧和右侧属性定位.然而 ...