ECC
ECC 是“Error Correction Code”的缩写。
ECC 是一种验证写入系统内存和从中读取的数据完整性的方法。称为 ECC RAM 的特殊RAM模块使用 ECC 来保护数据免遭损坏,通常用于可靠性和正常运行时间至关重要的系统。工作站、服务器、医疗和科学设备以及飞机控制计算机通常使用 ECC RAM。
大多数计算机内存错误都是单比特错误,由于某种电磁干扰,单个比特的值从 0 翻转为 1(或反之)而产生。这些错误通常会导致系统不稳定或数据损坏,例如更改文本中的单个字符或像素的颜色值。ECC 内存可以定位单比特错误并修复它们,将受影响的比特翻转回原始值。
系统向 ECC 内存模块写入数据时,会执行两项有助于跟踪错误的操作。首先,它会向每个字(或比特组)添加一个额外的数据比特,称为奇偶校验位,用于记录特定字中值为 1 的比特数量。它还会根据该字中 0 和 1 的位置,使用内置算法生成错误纠正码。如果单比特错误导致 1 的数量发生变化,奇偶校验位就会不匹配。内存模块中的 ECC 电路会参考它生成的错误纠正码,确定哪个比特发生了翻转,然后将其翻转回原始状态。
由于增加了额外电路,ECC 内存模块更加复杂,因此比非 ECC 内存更昂贵。为了存储奇偶校验位,它们需要的内存芯片也多于非 ECC 内存模块。ECC 内存的运行速度也比非 ECC 内存慢,因为生成错误纠正码并检查奇偶校验位需要额外步骤。由于成本和性能方面的影响,普通台式机或笔记本电脑通常使用非 ECC RAM,而高正常运行时间的服务器和工作站则使用 ECC RAM。
测试你的知识