RAS基础

本文详细介绍了RAS技术,包括MCA机制用于检测和修复硬件错误,如CPU的MCA、内存的ECC特性以及PCIe的AER机制。MCA通过MSR寄存器处理硬件错误,AER提供高级错误报告以辅助软件定位和解决错误。当发生可纠正错误时,系统会进行修复;面对不可纠正错误,系统可能采取隔离或重启策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

RAS技术主要是通过MCA机制、AER机制实现的。

    MCA(Machine Check Architecture)机制:MCA机制可以上报并尽可能地修复系统总线、ECC、奇偶校验、缓存和TLB等等错误,识别故障源并将故障信息记录在MC Bank中。通过MCA机制,CPU内部的可纠正错误和不可纠正错误均可上报并记录,并纠正硬件可纠正错误。对于不可纠正错误,通常会进行热重启。MCA的作用域包括处理器中的所有模块,Core、Uncore和IIO(通过IOMCA)。

    AER(IIO Advanced Error Reporting)机制:AER机制负责侦测、记录并发送各种IIO模块下的子模块的错误信号,作用域包括IIO模块下的所有子模块,如PCIe接口,DMI,IIO的核心逻辑和Intel VT-d等。

CPU RAS:

    我们提到CPU RAS主要是指MCA 的机制——Machine Check Architecture,它用来检测硬件(这里的Machine表示的就是硬件)错误,比如系统总线错误、ECC错误等等。这套系统通过一定数量的MSR(Model Specific Register)来实现,这些MSR分为两个部分,一部分用来进行设置,另一部分用来描述发生的硬件错误。当CPU检测到不可纠正的MCE(Machine Check Error)时,就会触发Machine Check Exception,通常软件会注册相关的函数来处理这个exception,在这个函数中会通过读取MSR来收集MCE的错误信息,然后重启系统。当然由于发生的MCE可能是非常致命的,CPU直接重启了,没有办法完成MCE处理函数;甚至有可能在MCE处理函数中又触发了不可纠正的MCE,也会导致系统直接重启。CPU还会检测到可纠正的MCE,当可纠正的MCE数量超过一定的阈值时,会触发CMCI(Corrected Machine Check Error Interrupt),此时软件可以捕捉到该中断并进行相应的处理。CMCI是在MCA之后才加入的,算是对MCA的一个增强,在此之前软件只能通过轮询可纠正MCE相关的MSR才能实现相关的操作。MCA以bank为单位对错误进行处理,全局相关的寄存器组定义了如何开启 MCA 的能力。每一个 BANK 则具体对应一类错误源,如 CPU,MEMORY,CACHE,CHIPSET 等等。每一个 BANK 都可以进行单独的控制,这样软件就能够针对每一个 BANK 使用特定的方式进行处理。由于 MCA 以时间窗口为单位对错误进行采样,因

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值