z370支持pcie信号拆分吗_谈谈PCIe错误报告机制

本文介绍了PCIe的错误报告机制,包括Baseline Error Reporting和Advanced Error Reporting (AER)。AER提供了更详细的错误信息,错误被分为Correctable和Uncorrectable两类。PCIe错误通过Completion Status、Error Messages和Error Forwarding进行通知。文章还讨论了错误日志记录、错误源溯源以及涉及的寄存器控制流程。DapuStor产品已支持AER机制。

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

1.  PCIe错误报告的两种机制

1. Baseline Error Reporting:该机制是PCIe设备必需支持的一种错误报告机制,同时设备会定义最小的错误报告请求。应该是通过配置Device Control和Command寄存器做到通知其他设备产生了错误的一种机制。

2. Advanced Error Reporting(AER):该机制是PCIe设备用来获取更健壮的错误报告信息的一种特殊机制。该机制的相关寄存器会在PCIe扩展配置空间中上报。

2.  PCIe错误的分类

329c669e80f17e8d32e2152793883d51.png

由上图可以看出PCIe将各个层产生的错误大致分为两类:Correctable和Uncorrectable。

其中又将Uncorrectable分为Fatal和Nonfatal两种。通过分类平台可以对Correctable甚至Uncorrectable-Nonfatal的错误分配低优先级的处理,或者检测错误频率等处理;对于Uncorrectable-Fatal的错误可能直接对系统复位处理。

Correctable Errors:是指可纠正的错误,在硬件不经过软件的干预可以通过自身的逻辑纠正的错误。对于一些可纠正的错误如果处理校正的设备不处理的话需要将错误报告成Uncorrectable Errors。

Uncorrectable Errors:不可纠正的错误,这类错误会影响接口的功能,这类错误在协议中没有明确的机制可以纠正。对于PCIe具备更健壮的错误处理机制的设备来说,会进一步区分该错误为:Fatal和Non-Fatal。

Fatal Error:这类错误导致链路和硬件异常只有通过复位操作实现恢复。

Non-Fatal:这类错误可能会导致特定的传输变得不可靠,但是链路和硬件的其他功能不受影响。设备驱动软件提供恢复机制,并不会影响到链路和其他设备的运行。

3.  错误信号转发和通知

PCIe提供了三种方式转发通知错误:

1. 通过回复完成状态Completion Status

2. 通过错误消息 error Messages

3. 通过错误转发机制Error Forwarding

3.1 Completion Status:

针对Non-Posted请求,一些错误可以通过completion status的方式通知系统或其他设备,这种方式的通知,使上层协议或者软件有机会可以判断状态做相应的补救处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值