johnzhang518
作者johnzhang518·2021-08-31 11:47
技术支持·IPS

浅谈K1 Power的RAS特性

字数 2308阅读 1077评论 0赞 0

K1 Power 小型机从产品设计之初,就是为关键商业计算而量身定制的。很多用户选择 K1 Power ,也正是看中了 K1 Power 无与伦比的可靠性。

K1 Power 小型机的设计和制造遵循了高可靠性、高可用性和高可服务性,即众所周知的 RAS 特性。可靠性( Reliability )指服务器很少发生系统和组件故障;可用性( Availability )是指全面整合硬件、固件、操作系统和应用,以保证在出现故障时最大限度地减少应用中断;可维护性( Serviceability )指能够高效地安装和升级系统、固件和应用,并能够迅速地进行问题诊断和故障组件修复。

K1 Power 的 RAS 特性是一项复杂的系统性工程,从元器件的选择到部件结构的设计,从单个器件的测试到机器总装测试,以及软件的健壮性和完整性,每一项都有严格的要求。

我将在接下来的几个文章中,谈谈我对 K1 Power 可靠性的理解。

一、 内存的 RAS

在实际生产和运维工作中,服务器遇到错误的形式是多种多样的。最明显的是硬件中的功能性故障,例如芯片瑕疵,或是随着使用时间增长服务器出现组件磨损。另一种故障大致可归类为软错误。软错误是系统中发生的故障,要么是设计中固有的偶然事件,要么是由外部原因引起的临时故障。例如,高速缓存和内存中的数据单元可能会有被外部事件(宇宙射线产生的粒子等)暂时扰乱的比特值。处理器内核中的逻辑也可能由于粒子撞击或类似事件受到软错误的影响。

为了保证数据的准确性,需要及时检测到发生的软错误事件,并对错误进行修正。在 K1 Power 服务器中有很多针对于内存的技术,用于软错误的检测和纠正。

  1. 奇偶校验( Parity Verifying )技术

软错误检测最简单的方法是通过奇偶校验实现的,可以检测单个比特翻转的数据。奇偶校验内存在每一字节( 8 位)外又额外增加了一位作为错误检测之用,系统会将存入内存中的数据位相加,并将结果存于校验位中。比如一个字节中存储的某一数值为 10100011 ,每一位加起来的结果为偶数( 1 + 0 + 1 + 0 + 0 + 0 + 1 + 1 = 4 ),校验位存入 0 。当 CPU 读取储存的数据时,系统再次相加存储的 8 位数据,并将计算结果与校验位相比较。如果发现二者不同,系统就会产生出错信息。

奇偶校验技术仅能粗略地检查单比特错误,但并不具备纠错能力。

  1. ECC 技术( Error Checking and Correcting )

ECC 技术比奇偶校验技术更先进的方面主要在于它不仅能发现错误,而且能纠正这些错误,这些错误纠正之后服务器才能正确执行下面的任务,确保正常运行。

ECC 技术是在数据位上外加其他标志位来实现的,增加的标志位用来重建错误数据。 当出现一个存储位错误时, ECC 体系可以自动进行纠错。当出现 2 个数据位错误时,可以检测出来,但不能纠错。

因为这种翻转不仅仅发生在高速缓存中,所以这些 ECC 代码被广泛地部署在 K1 POWER9 处理器的总线、高速缓存等关键区域中。

  1. Chipkill 技术

随着内存芯片的集成度的提高和容量的增大,内存发生错误的概率也随之增加。当检测出多位错误时, ECC 就无法解决该问题,可能导致致命故障。

Chipkill 是 IBM 为 NASA (美国太空总署)计划于 2003 年向火星发射的 “火星漫游者”探测器而设计的。 2001 年, IBM 将这种 chipkill 技术移植到服务器产品中,用于解决服务器内存中 ECC 技术的不足。

Chipkill 是一种具有自愈能力的内存体系结构,在工作过程中进行自我测试和自我诊断,如果某个 RAM 芯片或内存条损坏,可以向管理员报告出错信息,但机器仍可继续运行,管理人员可在适当的时候更换故障的零件。

在服务器中,内存的基本存储单元是动态随机存取存储器集成电路模块( DRAM ),每一个内存条( DIMM )就是由多个 DRAM 组成的。 DRAM 是一个比特阵列,深度有很多行,但宽度通常是 4 或者 8 列,也就是我们所熟知的 x4 或者 x8 的 DRAM (或 DIMM )。

处理器读取主内存的单位被称为内存高速缓存行 (memory cache line) 。这些高速缓存行通常一次性在某个活动中读取一个内存“字” (memory word) ,一个内存字将是 64 比特加上额外的校验比特,用于实现某种级别的纠错。

在 DIMM 上,系统要访问多个 DRAM 模块以创建内存字。一排 x4 DIMM 包含足够的 DRAM ,一次提供 64 比特数据,具有足够的检查比特,可在检测到坏 DRAM 后纠正单个 DRAM 模块损坏的情况,然后至少纠正一个额外的错误比特。这种能够纠正整个坏 DRAM 的能力称为 Chipkill 纠错。

其实以我的理解 Chipkill 技术很像我们熟悉的存储的 RAID 技术。

  1. 活动内存镜像技术( Active Memory Mirroring )

另一种更高级的内存技术就是活动内存镜像技术,在内存保护能力上更强,弥补了 Chipkill 修复技术和内存保护技校术都不能完全修复的短板,可以在系统中运行直到有故障内存被更换。内存镜像技术和磁盘镜像技术相仿,镜像的逻辑内存块( LMB )写入到两侧,读取在两侧之间交替或者在 DIMM 出现故障时仅从一侧读取。

当然,活动内存镜像技术也有它的缺点,由于每次写入都是两份,因此需要配置更多容量的内存。目前只有 K1 K1 Power E950 和 E980 支持活动内存镜像功能。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广