PCIe错误定义与分类

news2024/12/23 8:02:59

前言:

PCI总线中定义两个边带信号(PERR#和SERR#)来处理总线错误。其中PERR#主要对应的是普通数据奇偶校检错误(Parity Error),而SERR#主要对应的是系统错误(System Error)。具体如下:
· 普通的数据奇偶校检错误——通过PERR#报告
· 在多任务事务(Multi-task Transaction,又称为Special Cycles)时的奇偶校检错误——通过SERR#报告
· 地址和命令的奇偶校检错误——通过SERR#报告
· 其他错误——通过SERR#报告
在PCI(Peripheral Component Interconnect)和PCI Express(PCIe)体系结构中,边带信号(Sideband Signals)是一些用于提供控制和状态信息,而非数据传输本身的信号。在这些信号中,有两个特别重要的是SERR(System Error)和PERR(Parity Error)。尽管PCIe架构在很多方面与传统PCI不同,但它仍然保留了一些早期技术的特征,包括对错误处理的支持。下面是这两个信号的详解:

1 PERR(Parity Error)

目的与作用: PERR是用来指示数据传输中的奇偶校验错误的信号。在PCI总线上,数据传输伴随着一个奇偶校验位。如果在接收端计算的奇偶校验结果与发送端的不符,PERR信号会被触发。这意味着传输的数据在从一个端点到另一个端点的过程中出现了错误。
处理方式: 当PERR信号被触发时,系统可以采取多种措施,如重试传输、记录错误到日志中、或者在某些情况下停止操作,具体取决于系统设计和错误的严重性。

2 SERR(System Error)

目的与作用: SERR被用来指示严重的系统错误,这些错误通常是无法通过重试等简单方法恢复的。SERR通常与硬件失败、系统崩溃或者其他重大问题关联。SERR提供一种机制,使得系统在遇到严重错误时能快速响应。
处理方式: 触发SERR通常会导致系统采取更加激进的措施,如立即停止所有操作、复位或者重新启动系统。由于涉及到的错误通常很严重,因此这个信号的使用相对较少,只在不得已的情况下才会被用到。
一个简单的例子如下图所示:
在这里插入图片描述

3 错误分类

3.1 PCIe将错误分为两大类:

3.1.1 可更正错误(Correctable Errors):

这些错误可以在不影响系统持续运行的情况下被检测并修复。如小的数据包错误、信号干扰等,通常不会导致数据损坏。

3.1.2 不可更正错误(Uncorrectable Errors):

这些错误通常更加严重,可能导致数据损失或者系统崩溃。如果发生不可更正错误,可能需要采取措施,如重新初始化接口或重启系统。

3.2 错误定义

错误定义包括一系列的错误事件,下面是一些主要类型:
数据链路层错误(Data Link Layer Errors):
可更正错误:
Bad DLLP: 数据链路层包(DLLP)发生错误。
Bad TLP: 传输层包(TLP)发生错误。
不可更正错误:
数据链路协议错误: 数据链路层发生的协议违规,通常指示硬件问题。
物理层错误(Physical Layer Errors):
可更正错误:
接收错误: 由于信号畸变等原因接收到错误的数据。
不可更正错误:
底层序列错误: 物理层发生的序列错误,可能是硬件故障的迹象。
传输层错误(Transaction Layer Errors):
可更正错误:
头部日志溢出: 即将溢出的未处理事件日志。
不可更正错误:
无法识别的TLP: 接收端无法识别的TLP。
流控错误: 流控制管理出错。
其他错误事件:
未达到的请求与完成超时: 发出的请求没有收到响应或者响应超时。
携带错位和突发事件: 数据携带和收发过程中的错位事件。

3.3 错误报告

PCIe使用高级错误报告(AER)来提供对错误的管理,其包括:
记录在相应的状态寄存器中: 每当发生错误时,错误事件的相关信息会被记录在特定的状态寄存器内。
错误消息: 发生错误时,会生成相应的错误消息,来通知主机或系统进行处理。
错误信号: 某些错误会触发硬件信号,例如,系统错误信号(System Error, SERR)。

3.4 错误处理

系统或设备接收到错误报告后,可以采取以下一种或多种措施来处理错误:
记录错误信息,并且根据错误重要性上报至操作系统或管理软件。
尝试进行错误校正(如果是可更正错误)。
系统管理员可以获取详细错误日志以分析故障原因并进行维修。
在不可更正错误出现时进行系统重启或其他必要的恢复操作。

总结:

PCIe架构在设计上已经大大改进了错误检测和处理机制,引入了更先进的技术如高级错误报告(Advanced Error Reporting, AER)等,因此,并不直接使用类似于传统PCI中的PERR和SERR信号。虽然在概念上PCIe继续支持通过其高级特性来表达相似的错误检测和报告机制,但它通过不同的方式实现这些功能,例如通过特定的消息和状态寄存器来报告和管理错误。
总的来说,虽然PERR和SERR这些信号源于早期的PCI技术,在PCIe中它们的直接应用被更高级的机制所替代,但理解它们对于理解计算机系统中的错误处理仍然是有帮助的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1597774.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

计算机网络:数据链路层 - CSMA/CA协议

计算机网络:数据链路层 - CSMA/CA协议 CSMA/CA概述帧间间隔工作原理退避算法虚拟载波监听 CSMA/CA概述 讲解CSMA/CA之前,我们回顾一下CSMA/CD的三个特性: 多址接入MA:多个主机连接在一条总线上,竞争使用总线 载波监听…

把握零碎时间,开启长期副业兼职之旅!在家也能轻松赚钱!

转眼间,2024年已悄然走过三分之一。这一年,外界环境似乎并不那么友好,但对我而言,我的月收入仍然相对稳定。我找到的副业让我每月能赚到3000元以上,这让我深感庆幸。 现实中,只依赖主业工资的日子确实艰辛…

解一个结构间的方程组

在行和列可自由变换的平面上3点结构有6个 4点结构有16个 现在计算4a13a1,得到结果为 3--5*1--13*4--15*2--19*2--23*2--25*1--35*2--41*2--66*1--69*2--75*2--77*2--85*2--98*1--111*2--118*4--119*6--123*2--190* 有19个7点结构符合要求,其中7a123有6种…

机器学习算法快速入门

文章目录 0.简介1.常用术语1) 模型2) 数据集3) 样本&特征4) 向量5) 矩阵6)假设函数&损失函数7)拟合&过拟合&欠拟合 2.线性回归3.梯度下降求极值4.Logistic回归算法(分类问题)5.KNN最邻近分类算法6.朴素贝叶斯分类算法7.决策树…

Openwrt21.02支持SKW78(MT7621)

1.获取SDK 1.下载Openwrt源码 下载链接: git clone --branch openwrt-21.02 https://gitee.com/cocos_yang/openwrt.git 下载完后,会有一个openwrt目录,进入openwrt目录 cd openwrt 修改feeds.conf.default的内容,如下所示&#x…

Unity笔记之下拉刷新列表

这样的效果; 代码: using System; using System.Collections; using System.Collections.Generic; using Sirenix.OdinInspector; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.UI;public class ScrollRectUpdateView : Mon…

Three.js--》穿越虚拟门槛打造的3D登录界面

今天简单实现一个three.js的小Demo,加强自己对three知识的掌握与学习,只有在项目中才能灵活将所学知识运用起来,话不多说直接开始。 目录 项目搭建 初始化three代码 添加背景与地球 星星动画效果 星云动画效果 实现登录框效果 项目搭建…

C语言——内存函数的实现和模拟实现

1. memcpy 使用和模拟实现 void * memcpy ( void * destination, const void * source, size_t num ); 函数memcpy从source的位置开始向后复制num个字节的数据到destination指向的内存位置。 这个函数在遇到 \0 的时候并不会停下来。 如果source和destination有任何的重叠&am…

高级数据结构与算法习题(7)

一、单选题 1、When solving a problem with input size N by divide and conquer, if at each stage the problem is divided into 8 sub-problems of equal size N/3, and the conquer step takes O(N2logN) to form the solution from the sub-solutions, then the overall…

【Docker系列】容器访问宿主机的Mysql

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

flutter material中的Icon组件的IconData 查阅

查阅 https://fonts.google.com/icons?selectedMaterialSymbolsOutlined:expand_less:FILL0;wght300;GRAD0;opsz24&icon.platformandroidhttps://fonts.google.com/icons?selectedMaterialSymbolsOutlined:expand_less:FILL0;wght300;GRAD0;opsz24&icon.platformand…

mysql报错-mysql服务启动停止后,某些服务在未由其他服务或程序使用时将自动停止和数据恢复

启动mysql服务时出现该错误: 本地计算机上的mysql服务启动停止后,某些服务在未由其他服务或程序使用时将自动停止。 我的mysql版本是8.0.18 系统:win10 如何安装mysql,可以看我这一篇文章:mysql的安装 ---必会 - bigbigbrid - 博客园 (cn…

2024 EasyRecovery三分钟帮你恢复 电脑硬盘格式化

随着数字化时代的到来,我们的生活和工作中越来越依赖于电子设备。然而,电子设备中的数据丢失问题也随之而来。数据丢失可能是由各种原因引起的,如硬盘故障、病毒感染、误删除等。面对这种情况,一个高效、可靠的数据恢复工具变得尤…

【御控物联】Java JSON结构转换(1):对象To对象——键值互换

文章目录 一、JSON是什么?二、JSON结构转换是什么?三、核心构件之转换映射四、案例之《JSON对象 To JSON对象》五、代码实现六、在线转换工具七、技术资料 一、JSON是什么? Json(JavaScript Object Notation)产生于20…

SkyWalking 为所有的API接口增加 tag

背景胡扯 线上接口报错,接着被 SkyWalking 抓到,然后 SkyWalking 触发告警,最后老板你,让你辛苦一下,在明早上班前把这个bug 改了,并告诉你你是全公司的希望。谁说不是呢?为公司业务保驾护航&a…

Opencv3.4+FFMpeg3.4+pkg-config交叉编译arm开发板

Ubuntu16.04 64位 FFmpeg3.4 OpenCv3.4 一、下载FFmpeg https://github.com/FFmpeg/FFmpeg 1.配置 ./configure --prefix/home/zeng/ffmpeg_install --enable-cross-compile --cross-prefixarm-linux-gnueabihf- --ccarm-linux-gnueabihf-gcc --target-oslinux --cpuco…

nginx的启动,systemd管理

service unit file文件通常由三部分组成: [Unit]:定义与Unit类型无关的通用选项;用于提供unit的描述信息、unit行为及依赖关系等 [Service]:与特定类型相关的专用选项;此处为Service类型 [Install]:定义…

CTFshow-PWN-前置基础(pwn6-pwn9)

1、pwn6 立即寻址方式结束后eax寄存器的值为? 截取关键代码 ; 立即寻址方式mov eax, 11 ; 将11赋值给eaxadd eax, 114504 ; eax加上114504sub eax, 1 ; eax减去1 mov 用于赋值,将右边立即数加载到左边的寄存器 eax 中&#xff1b…

电商的未来:回归传统的力量

引言 随着拼多多的崛起,淘宝的市场地位受到了挑战。马云在阿里巴巴内网发表的《致改革 致创新》一文中,呼吁直面问题与未来,但具体的改革与创新方向尚未明晰。本文将探讨电商的未来,提出一个观点:电商的真正未来不在于…

网络安全-自学笔记

一、自学网络安全学习的误区和陷阱 1.不要试图先成为一名程序员(以编程为基础的学习)再开始学习 我在之前的回答中,我都一再强调不要以编程为基础再开始学习网络安全,一般来说,学习编程不但学习周期长,而…