SPARC Enterprise 中高端产品采用了SPARC64 VI 芯片,继承了企业级大型机中开发和验证过的 RAS (可靠性、可用性和可服务性) 技术。 SPARC Enterprise 通过所有CPU电路间的错误检测和恢复机制,避免 CPU 错误带来的系统故障。
SPARC64 VI 具有很多优点:
1、增强了SPARC64 V 的高性能和高可靠性特性,通过单个CPU芯片中内嵌的多核多线程技术进一步提高性能。
2、芯片多核、每核双线程,大容量片上高速缓存,都大大提高了芯片的性能。
3、多线程技术最小化 CPU 内核的等待时间,增加了 CPU内核的利用率。
4、大容量二级高速缓存极大降低了内存延迟。
5、SPARC64 V 的高性能技术,如超标量、乱序执行、分支预测和非阻塞缓存都得以延续。
采用高性能的 SPARC64 VI 芯片SPARC Enterprise ,可提供包括大规模交易处理在内各种应用所需的高超性能。
同时,SPARC64 VI 机制可保证CPU内部的数据传输和存储,不仅包括高速缓存,而且也包括算术逻辑单元 (ALU)以及寄存器。CPU 错误通过 ECC 数据纠正处理和指令重试技术恢复。即使不可恢复的错误发生时, CPU 也不会停止,只会动态对受到影响的 CPU 内核和高速缓存进行降级,然后继续运行。 每个CPU 也会继续记录所有的错误信息,因此任何错误原因都能迅速检测出来。
SPARC64 VI的RAS 功能与大型机 CPU相仿,可提供最为可靠的系统。
*1 奇偶错误由硬件指令重试功能纠正 。
*2 “1路(way)”是高速缓存的一个单元。 SPARC64 VI 1级缓存包括2 个way单元,2级缓存 有12个way单元。
扩展的数据保护提高业务连续性
高速缓存中的数据保护机制
虽然概率不高,但多数处理器电路故障会在高速缓存 (*3)中随机出现。这将导致服务器运行中断或性能降低。因此缓存数据保护机制对企业系统十分关键。
1级缓存的指令处理组件由冗余和奇偶机制保护,而数据处理组件使用ECC。在2级缓存中,指令和数据由ECC保护。因此,缓存中所有的1位错误都可被检测出来并进行纠正。
如果1位错误频繁发生,那么缓存会动态地进行步进降级,每次降级一个单元。即使1个单元的2级缓存发生故障,剩余的 11 个单元 (总共 12个单元) 也会继续运行。在所有缓存单元都降级的罕见情况下,特定的 CPU 芯片会自动被隔离。
这些机制保证了系统的连续性,系统保护消除了偶然故障的影响,减小了性能影响。而其他厂商CPU中类似的缓存故障会导致系统可用性和性能的降低。一般他们的整个系统必须重新启动和降级,或由于故障,整个 CPU 芯片立刻不可用。
*3: 随机点不常发生的错误会导致数据错误。它们被称作 “软错误” ,由辐射、电磁干扰和受热产生。
ALU 和寄存器上的数据保护机制
SPARC64 VI 算术逻辑单元 (ALU) 和寄存器使用奇偶校验机制保护数据。每个 ALU 处理指令,而寄存器临时存储 ALU的输入数据。
SPARC64 VI 的寄存器由高度可靠的电路构成。所有1位的错误都可通过奇偶校验检测出来。检测出错误后,数据重新从缓存读取并再次处理。
SPARC64 VI 验证奇偶值以检查 ALU中处理的输入数据是否损坏。这种高级的校验意味着计算时任何1位错误都会被检测出来。检测出错误后,相关 ALU 和寄存器中的所有数据将被清除。然后从1级缓存重新读取数据再次执行指令。
一般其他厂商ALU中 CPU 的1位错误无法检测。他们的CPU 架构无法从寄存器传递奇偶位到 ALU。奇偶位也无法与 ALU 计算结果相关联。只对 ALU 输入之前和 ALU 输出之后的数据进行奇偶校验,而对ALU 内部的数据损坏无法检测。
CPU 内核降级
检测到不可恢复的 CPU 错误后,故障内核被隔离,其他正常的内核继续保持运行可用性。
记录所有的处理器操作
SPARC64 VI 中的历史电路机制可自动记录所有的 CPU 操作。历史电路用于 CPU 故障调查和 CPU 可靠性的改进。
如同飞行记录仪一样,每个历史电路都定期维护记录 (无需软件干预或影响处理器操作)。因此任何错误都能检测出。历史电路对快速准确的错误原因检测十分关键。