johnzhang518
作者johnzhang518·2021-11-28 19:21
技术支持·IPS

浅谈K1 Power的RAS特性(二)

字数 1632阅读 2331评论 0赞 1

处理器、缓存和总线等部分的RAS特性

之前我们探讨了 K1 Power 小型机在内存方面的 RAS 特性设计,这里我们继续聊聊处理器、缓存和总线方面的 RAS 设计。

二、处理器的 RAS

服务器系统或者部件的可靠性越高,服务器整体的高可靠性越好。 Power 的设计者付出了很多努力,使系统能够检测错误并采取措施尽量减少或消除与之相关的风险。这些设计功能提高了系统可用性,超出了仅仅通过硬件底层可靠性所能获得的范围。这种设计从实现错误检测和故障隔离( ED/FI )体系结构开始。

首次故障数据捕获 FFDC ( First Failure Data Capture )

首次故障数据捕获是 K1 Power 硬件和微码层持续检测硬件工作状态的一个功能,在处理器和内存子系统中,硬件中的电路即可对自身进行详细地检测。错误信息记录在独立的寄存器( FIRs )中,并提交给合适的组件以便处理故障。

处理器指令重试( Processor Instruction Retry )

在处理器核心内部,软错误可能会影响很多计算单元。当这种错误指令在执行过程中被检测出来,处理器硬件会重新执行这一操作,这就是我们熟悉的高级 RAS 特性处理器指令重试。这一技术允许系统在发生软错误时恢复过来,以防整个服务器出现停机的风险。

预测性处理器隔离( Predictive Processor Deallocation ):

由于这些系统中包含了大量自我修复和错误恢复,极少需要因持久性可恢复错误而预测性隔离整个处理器内核。如果确实发生了这种情况, PowerVM 可以在运行时调用一个进程动态地隔离故障处理器(除非操作系统应用不允许,这是极少数情况。)

处理器核心自带的检查停止( Core-contained Checkstops )

在纵向扩展系统中,使用多个分区可能是很常见的情况,如果类似于处理器指令重试或其他之前提到的技术无法处理核心级错误,那么就需要用到基于 PowerVM 的核心自带的检查停止技术。这使得与故障相关的中断可以被限制在故障时使用核心的分区中。但如果该处理器核心用于运行 Hypervisor ,那这种故障则可能导致 Hypervisor 甚至是整个机器的宕机。

三、处理器缓存的 RAS

对于可修复性错误, L2 和 L3 缓存可以通过 ECC 技术来实现单比特错误修正和双比特错误检测。 L1 高速缓存检查单比特错误。但是,纠正间歇性 L1 缓存错误并不使用纠错码,而是使用来自高速缓存层次结构中其他位置的数据。 L1 高速缓存的一部分可以被禁用,以避免由于持久性硬错误导致的中断。如果在多个数据集中观察到太多错误,则可以预测性地隔离使用 L1 缓存的内核。

对于无法改正的错误,那么发生错误的缓存将被停止使用,缓存行会被标记特殊的 ECC 码,来指示该缓存行中有错误数据。

四、总线的 RAS

循环冗余校验( CRC , Cyclic Redundant Check )

如前所述,在处理器单元之间传输的多个数据通路是通过 ECC 校验来保证数据准确性的。然而,在处理器的外部,由于总线设计的性质,高速数据总线可能容易受到偶然的多比特错误的影响。循环冗余校验码可用于确定整个数据包内是否存在错误。循环冗余校验是一种根据网络数据包或计算机文件等数据产生简短固定位数校验码的一种信道编码技术,主要用来检测或校验数据传输或者保存后可能出现的错误。它是利用除法及余数的原理来作错误侦测的。针对于 POWER9 处理器, CRC 循环冗余校验已经用于处理器间总线互联(主板上的 X-bus 和跨主板的 O-bus )上的数据检验。

拆分的数据总线

对于 E980 企业级高端服务器,跨 CEC 柜的处理器节点间采用多条总线( O-bus )连接。每一条 O-bus 人为地分成了两组线缆,当在其中的一组线缆上发生了持久性错误时, Power9 处理器可通过降低带宽,从另一组线缆上继续传输数据。

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

1

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广