1. 首页 > 科技问答

ecc内存为什么比普通内存便宜,ecc内存比普通内存慢

一、为何必须ECC内存?

由于电脑硬盘速度远不如CPU速度,因此计算机在执行程序时CPU都要先把该实行代码以及各种数据从硬盘读取到内存(单片机设计这种小CPU以外),以后和内存互动数据,因此内存的稳定在很大程度上取决于计算机的稳定。

但在计算机的工作环境中,无处不蕴含着形形色色的影响,包含EMI干扰信号、电源纹波影响等,这种影响也会导致内存在与CPU互动数据后发生比特旋转(某一0变为1),假如比特旋转出现于一些不重要的地位上,比如有张照片或某个视频采集里边,使用人很有可能都觉得不上,可是一旦发生在某一个编码里边,轻者造成手机软件出错或是卡屏,严重蓝屏重启或hardfault,对于一般PC而言算是可以接受,终究几率不大,但对于网络服务器而言,一次崩溃可能会导致毁灭性的损害,因此网络服务器通常会应用可靠性更高ECC内存。

这儿许多人会有个错误观念,认为网络服务器用ECC内存就是为了加速启动速度,实际上反过来,用ECC内存会亏损掉内存百分之二到百分之三性能,但是这种内存能够主动发现数据传送过程中遇到的错误,并把错误改正,提升了全部系统稳定性。

二、汉明码基本原理

为何ECC内存能改错呢?是因为采用了汉明码编号。更准确的说,现阶段绝大部分ECC内存都是采用的汉明码来发现和改错的。汉明码在一组数据中不得超过改错1个比特或是较多发觉2个比特的错误,高于2个比特的错误就会有几率根据汉明码校检,这也是前提条件,仅有在此基础上才能真正的发布后边的观点。

汉明码基本原理总的来说便是奇偶校验 联系清除,奇偶校验承担检验错误,联系清除承担精准定位错误位置。

奇偶校验:依据被传送的一组二进制代码的多位中“1”的数量奇数或双数去进行校检。以偶校验为例子,在每一组数据中增加一个奇偶校验位,若初始数据1的数量为单数,那奇偶校验位就补1,若初始数据1的数量本来就是双数那奇偶校验位也就不用补1,用0取代。奇偶校验有一个恰当的区域,便是奇偶校验位自身也会被校检,那也是奇偶校验可以跟联系清除搭配使用的一个必需前提条件。

联系清除:简单的说就是原素A若另外在结合B和集合C中,假如A、B、C都存在着得话,那A一定在B∩C中。下边以一个4*4的数据举例子。

为了能应用联系清除,先将4*4的数据分为下面的图4县市:

2. 在1区应用偶校验得到并没有错误:

3. 在2区应用偶校验得到有错误:

4. 在3区应用偶校验得到有错误:

5. 在4区应用偶校验得到并没有错误:

6. 综合性2、3、4、5的观点就可以得出,错误数据另外在2区与3区,而且1区与4区并没有错误,因此错误数据一定在如下所示(2,3)位置,所以将(2,3)的1改成0就可以得到恰当的一组数据。

三、汇总

以上就是关于汉明码最基本的基本原理,但这不是汉明码被普遍使用在内存改错的所有缘故,因为单纯比改错水平,它远没有LDPC高密度检验码强,会被普遍使用的原因是因为汉明码可用很少的硬件电路完成(4*4的数据只需5级异或门),并且合理数据比非常高(一组数据只需在2的整数金额三次方的比特部位插进一个比特的校验位,合理数据比成指数级提升,自然一组数据越久超出2比特错误的几率就越大),实际基本原理之后再剖析。

本文采摘于网络,不代表本站立场,转载联系作者并注明出处:https://www.miyuegong.com/kejiwenda/65703.html

联系我们

在线咨询:点击这里给我发消息

微信号:666666