ECC(指令纠错) 内存

什么是ECC内存

对于大多数企业来说,消除数据损坏是一项关键任务——这正是 ECC(纠错码)内存的目的。 ECC 是一种指令纠错技术,能够检测并纠正常见的各种内存数据损坏情况,即Error Checking and Correcting

是什么导致错误?

内存错误是电脑内部的电磁干扰造成的。 这种干扰会导致 DRAM(动态随机存取内存)的单位自发地变成相反的状态。 电磁干扰以背景辐射的形式存在,海拔越高,干扰越大。宇宙飞船尤其容易有很高的错误率。

单位错误可能是隐性的,也就是说,它们不会对数据造成严重影响; 但是,内存单元是相互关联的,因此单位变化可能会影响整个系统,从而导致系统出错,尤其是在需要严密运行的系统中。

ECC 内存的工作原理

ECC 内存包含附加内存位和内存控制器,这些控制器用于控制模块上附加芯片中的附加位。 在将数据写入到内存时,ECC 内存使用附加位来存储加密代码,同时存储纠错码Error Correcting Code)。 读取数据时,会将存储的纠错码与读取数据时生成的纠错码进行比较。 如果读取的代码与存储的代码不匹配,会用奇偶校验位对前者进行解密,以确定哪个位出错,然后立即纠正该位。 症状表是一种可以识别并纠正位错误的数学方法。

在数据处理过程中,ECC 内存会使用特殊算法,比如海明码(Hamming Code)算法,不断扫描代码,以检测并纠正单位内存错误。

优势和劣势

在金融等行业以及科学界,ECC 内存对于维持数据完整性至关重要。 大多数服务器内存也是 ECC 内存。 ECC 内存进一步减少了数据崩溃情况,这对于多用户服务器应用程序非常重要。

与非 ECC 内存相比,ECC 内存通常更昂贵,速度可能稍慢。 其他系统组件(例如,CPU 和主板)也必须支持 ECC 内存。

如何看内存是否启用ECC

使用AIDA64Everest软件在内存,找到错误纠正,可以看到 ECC 是否启用或禁用。

by 斯武丶风晴 https://my.oschina.net/langxSpirit

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )

ECC(指令纠错) 内存 - HelloWorld