内存错误处理方式

Author: 杨志强 Date: 2000年 第13期

#1  ●Parity(奇偶校验)
  非奇偶校验的内存使用8位数据传输,所有的8位数据中没有错误校验位,PC机大多使用非奇偶校验内存,而服务器则从不使用这种内存。
  奇偶校验的内存使用9位数据传输,前8位用于数据传输,第9位作为校验位,用于检查内存数据中单一位(Single-bit)的错误。尽管奇偶校验内存可查出单一位的错误,但并不能正确地修改它们。当然奇偶校验内存也不能检查出多位内存错误。因此,ECC内存应运而生。
#1    ●ECC(Error Checking and Correcting 错误检查与校正)
  ECC内存类似于奇偶校验内存,但它提供了强大的系统数据校正功能。ECC不仅能检测到单一位数据的错误,而且能够找出位置,并修改它们,以保证系统平稳地运行。ECC还能够检测出多点错误,虽然不能纠正错误,但可以向系统发出警报。
  ECC的处理过程如下:当数据写入内存时,ECC在数据上加入一位加密码。当数据读回时,存储的加密码与原来写入的数据的加密码进行比较,当两个密码不符时,它就解密以查出哪一位是坏的。错误数据被改正后,内存处理器将其传送给CPU。当检测到多位数据错误时会发出警报,从而在发生模块错误或数据破坏前,让系统管理员能够正常关机。
#1  ●ECC Scrubbing(ECC 纠错回写)
  ECC 纠错回写技术在ECC处理上增加了额外步骤,当ECC检查并纠正了单一位内存错误时,错误本身仍保留在RAM中。每次访问到坏数据位时,内存控制器都要重复纠正一次。而内存回写技术则是一旦查出错误位并改正后,正确地数据将写回RAM中,这就保证了错误数据在RAM中被擦掉了。因此减少了由于未修改引起的多位错误的可能性。如果错误数据不能擦除,将会发出系统警报,在发生模块错误或数据破坏前,让系统管理员正常关机。据资料所示,目前此技术是HP NetServer内存独有的功能。