FUJITSU

  1. 首页 >
  2. 产品与服务 >
  3. 硬件产品 >
  4. 服务器 >
  5. UNIX 服务器 SPARC Enterprise >
  6. 技术说明 >
  7. 业务持续性 >
  8. SPARC64™ 处理器继承了大型机的高可靠性技术

SPARC64™ 处理器继承了大型机的高可靠性技术

相关产品 : SPARC Enterprise M9000, M8000, M5000, M4000, M3000

SPARC Enterprise M3000及以上型号采用了SPARC64 VII 和VI 芯片,继承了企业级大型机中开发和验证过的 RAS (可靠性、可用性和可服务性) 技术。 SPARC Enterprise 通过所有CPU电路间的错误检测和恢复机制,避免 CPU 错误带来的系统故障。

SPARC64 VII 和VI 机制可保证CPU内部的数据传输和存储,不仅包括高速缓存,而且也包括算术逻辑单元 (ALU)以及寄存器。CPU 错误通过 ECC 数据纠正处理和指令重试技术恢复。即使不可恢复的错误发生时, CPU 也不会停止,只会动态对受到影响的 CPU 内核和高速缓存进行降级,然后继续运行。 每个CPU 也会继续记录所有的错误信息,因此任何错误原因都能迅速检测出来。

SPARC64 VII 和VI 的RAS 功能与大型机 CPU相仿,可提供最为可靠的系统。

表格: SPARC64 VII / VI RAS 功能
错误检测 错误纠正 降级能力 记录
1级缓存 冗余+ 奇偶校验, ECC 硬件指令重试, ECC 动态单元(way)降级 (*2) 错误发生历史
2级缓存 ECC ECC
算术逻辑单元,寄存器 奇偶校验(*1)
ECC (*3)
ECC (*3)
硬件指令重试
动态内核降级

*1 奇偶错误由硬件指令重试功能纠正 。
*2 “1路(way)”是高速缓存的一个单元。 SPARC64 VII / VI 1级缓存包括2 个way单元,2级缓存 有12个way单元。
*3 SPARC64 VII 支持

请注意,以上图片仅用于解释数据保护机制的目的,并非用于展示实际的CPU芯片图像。

扩展的数据保护提高业务连续性

高速缓存中的数据保护机制

虽然概率不高,但多数处理器电路故障会在高速缓存 (*4)中随机出现。这将导致服务器运行中断或性能降低。因此缓存数据保护机制对企业系统十分关键。

1级缓存的指令处理组件由冗余和奇偶机制保护,而数据处理组件使用ECC。在2级缓存中,指令和数据由ECC保护。因此,缓存中所有的1位错误都可被检测出来并进行纠正。

如果1位错误频繁发生,那么缓存会动态地进行步进降级,每次降级一个单元。即使1个单元的2级缓存发生故障,剩余的 11 个单元 (总共 12个单元) 也会继续运行。在所有缓存单元都降级的罕见情况下,特定的 CPU 芯片会自动被隔离。

这些机制保证了系统的连续性,系统保护消除了偶然故障的影响,减小了性能影响。而其他厂商CPU中类似的缓存故障会导致系统可用性和性能的降低。一般他们的整个系统必须重新启动和降级,或由于故障,整个 CPU 芯片立刻不可用。

*4:随机点上的临时性数据错误是非经常性故障,它们也被称作 “软错误”,由辐射、电磁干扰和受热等外部物理影响导致。

SPARC64™ VII

SPARC64™ VI

*5:随机点上的临时性数据错误是非经常性故障,它们也被称作“软错误”,由辐射、电磁干扰和受热等外部物理影响导致。
*6:6MB二级缓存有12路 (way),5MB二级缓存有10路 (way)。

ALU 和寄存器上的数据保护机制

SPARC64 VI 算术逻辑单元 (ALU) 和寄存器使用奇偶校验机制保护数据。每个 ALU 处理指令,而寄存器临时存储 ALU的输入数据。

SPARC64 VI 的寄存器由高度可靠的电路构成。所有1位的错误都可通过奇偶校验检测出来。检测出错误后,数据重新从缓存读取并再次处理。此外,SPARC64 VII对整数寄存器增加了ECC保护功能,可靠性得以进一步加强。

SPARC64 VI 验证奇偶值以检查 ALU中处理的输入数据是否损坏。这种高级的校验意味着计算时任何1位错误都会被检测出来。检测出错误后,相关 ALU 和寄存器中的所有数据将被清除。然后从1级缓存重新读取数据再次执行指令。

一般其他厂商ALU中 CPU 的1位错误无法检测。他们的CPU 架构无法从寄存器传递奇偶位到 ALU。奇偶位也无法与 ALU 计算结果相关联。只对 ALU 输入之前和 ALU 输出之后的数据进行奇偶校验,而对ALU 内部的数据损坏无法检测。

CPU 内核降级

检测到不可恢复的 CPU 错误后,故障内核被隔离,其他正常的内核继续保持运行可用性。

记录所有的处理器操作

SPARC64 VI 中的历史电路机制可自动记录所有的 CPU 操作。历史电路用于 CPU 故障调查和 CPU 可靠性的改进。

如同飞行记录仪一样,每个历史电路都定期维护记录 (无需软件干预或影响处理器操作)。因此任何错误都能检测出。历史电路对快速准确的错误原因检测十分关键。