PCIe设备热插拔-理论篇

硬件层面理解热插拔

PRSNT1#和PRSNT2#信号与PCIe设备的热插拔相关。在基于PCIe总线的Add-in 卡中,PRSNT1#
和PRSNT2#信号直接相连,而在处理器主板中,PRSNT1#信号接地,而PRSNT2#信号通过上
拉电阻接为高。

不同的处理器系统处理PCIe 设备热拔插的过程并不相同,在一个实际的处理器系统中,热拔插
设备的实现也远比图4-3 中的示例复杂得多。值得注意的是,在实现热拔插功能时,Add-in Card
需要使用“长短针”结构。
如图4-3 所示,PRSNT1#和PRSNT2#信号使用的金手指长度是其他信号的一半。因此当PCIe
设备插入插槽时,PRSNT1#和PRSNT2#信号在其他金手指与PCIe 插槽完全接触,并经过一段
延时后,才能与插槽完全接触;当PCIe 设备从PCIe 插槽中拔出时,这两个信号首先与PCIe
插槽断连,再经过一段延时后,其他信号才能与插槽断连。系统软件可以使用这段延时,进行
一些热拔插处理。

Add-In卡插入

当Add-In 卡没有插入时,处理器主板的PRSNT2#信号由上拉电阻接为高,而当
Add-In 卡插入时主板的PRSNT2#信号将与PRSNT1#信号通过Add-In 卡连通,此时PRSNT2#
信号为低。处理器主板的热插拔控制逻辑将捕获这个“低电平”,得知Add-In 卡已经插入,从
而触发系统软件进行相应地处理。

 

Add-In卡拔出

Add-In 卡拔出的工作机制与插入类似。当Add-in 卡连接在处理器主板时,处理器主板的
PRSNT2#信号为低,当Add-In 卡拔出后,处理器主板的PRSNT2#信号为高。处理器主板的热
插拔控制逻辑将捕获这个“高电平”,得知Add-In 卡已经被拔出,从而触发系统软件进行相应
地处理。

 

热插拔软硬件要素

 

Attention indicator黄灯

VMD enable的话是BIOS能控制vpp,VMD disable的话OS那边要接管控制硬盘的VPP逻辑

 

 Power Indicator绿灯

 

Manually-perated Retention Latch

 

MRL Sensor

 

 Electromechanical Interlock

 

Attention Button

 

Software User Interface

 

 Slot Numbering

 

 Power Controller

热插拔相关寄存器

详细解释请看PCIe spec 6.7Hotplug章节

 

Slot Capabilities Register (Offset 14h)

 

 Slot Control Register (Offset 18h)

 

 

Slot Status Register (Offset 1Ah) 

 

 

热插拔种类

热插拔分为两种,分别是暴力式热插拔和通知式热插拔

 

暴利式热插拔

暴利式热插拔:在暴利式热插拔中,PCIe设备可以直接插入或拔出,而系统不会给出任何提示或通知。这意味着设备的插入或拔出不会触发系统的自动检测和配置过程。这种方式的优点是操作简单,不需要系统干预,但缺点是可能会导致系统崩溃或数据丢失,因为系统无法预测设备的添加或移除,也无法进行相应的处理

 

 暴力式add

 这里是不支持DPC和presence detect

 

暴力式remove

 

 

 

 通知式热插拔

通知式热插拔:在通知式热插拔中,PCIe设备的插入或拔出会触发系统的自动检测和配置过程,并给出相应的提示或通知。系统会识别新插入的设备,并进行必要的驱动程序加载和资源分配。这种方式的优点是可以保证系统的稳定性和数据完整性,因为系统能够正确地处理设备的添加或移除,但缺点是需要系统进行干预,操作相对繁琐。

 

拔盘小建议

拔盘时,建议优先使用正常热移除(Orderly Hot Removal),介绍如下:

停止当前和待移除设备相关的进程(如可能访问设备的数据库等)

Umount 与该设备相关的文件系统

向系统发出移除设备信号:

#echo 0 >/sys/bus/pci/slots/<SSD_SLOT_NUM>/power

SSD_SLOT_NUM 是待移除设备对应的 PCIe 卡槽编号,可通过 lspci 命令获得

等待系统移除设备(可通过 lsblk 等命令查看)后再执行手动拔盘操作

 

参考文章:

PCIe热插拔:通知试热插拔&暴力热插拔-CSDN博客

PCIe Spec 5.0

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

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

相关文章

【Mysql】InnoDB的表空间(九)

概述 表空间是一个在 InnoDB 中比较抽象的概念&#xff0c;对于系统表空间来说&#xff0c;对应着文件系统中一个或多个实际文件&#xff1b;而对于每个独立表空间来说&#xff0c;对应着文件系统中一个名为表名.ibd 的实际文件。可以把表空间想象成由很多个页组成的池子&…

【Unity 实用工具篇】| 游戏多语言解决方案,官方插件Localization 实现本地化及多种语言切换

前言 【Unity 实用工具篇】| 游戏多语言解决方案&#xff0c;官方插件Localization 实现本地化及多种语言切换一、多语言本地化插件 Localization1.1 介绍1.2 效果展示1.3 使用说明 二、 插件导入并配置2.1 安装 Localization2.2 全局配置 三、多语言映射表3.1 创建多语言文本配…

字符处理 C语言xdoj52

问题描述 从键盘输入一个字符&#xff0c;若为小写字母&#xff0c;则输出其对应的大写字母&#xff1b;若为大写字母&#xff0c;则输出对应的小写字母&#xff1b;其他字符原样输出。 输入说明 输入一个字符 输出说明 输出一个字符 输入样例 样例1输入 a 样例…

分布式块存储 ZBS 的自主研发之旅|元数据管理

重点内容 元数据管理十分重要&#xff0c;犹如整个存储系统的“大黄页”&#xff0c;如果元数据操作出现性能瓶颈&#xff0c;将严重影响存储系统的整体性能。如何提升元数据处理速度与高可用是元数据管理的挑战之一。SmartX 分布式存储 ZBS 采用 Log Replication 的机制&…

论文修改润色平台 PaperBERT

大家好&#xff0c;今天来聊聊论文修改润色平台&#xff0c;希望能给大家提供一点参考。 以下是针对论文重复率高的情况&#xff0c;提供一些修改建议和技巧&#xff1a; 标题&#xff1a;论文修改润色平台――助力学术研究&#xff0c;提升论文质量 一、引言 在学术研究中&am…

复制粘贴——QT实现原理

复制粘贴——QT实现原理 QT 剪贴板相关类 QClipboard 对外通用的剪贴板类&#xff0c;一般通过QGuiApplication::clipboard() 来获取对应的剪贴板实例。 // qtbase/src/gui/kernel/qclipboard.h class Q_GUI_EXPORT QClipboard : public QObject {Q_OBJECT private:explici…

单片机——通信协议(FPGA+c语言应用之spi协议解析篇)

引言 串行外设接口(SPI)是微控制器和外围IC&#xff08;如传感器、ADC、DAC、移位寄存器、SRAM等&#xff09;之间使用最广泛的接口之一。本文先简要说明SPI接口&#xff0c;然后介绍ADI公司支持SPI的模拟开关与多路转换器&#xff0c;以及它们如何帮助减少系统电路板设计中的数…

ChatGLM大模型推理加速之Speculative Decoding

目录 一、推测解码speculative decoding 1、自回归解码 2、speculative decoding 3、细节理解 二、核心逻辑代码 1、算法流程代码 2、模型自回归代码 a、带缓存的模型自回归实现代码 b、优化版本带缓存的模型自回归实现代码 c、ChatGLM的past_key_values的回滚 三、…

EM的理论基础

1 EM定义​ 电迁移(Electro-Migration)是指在外加电场下,电子和金属原子之间的动量转移导致材料的运动。这种动量传递导致金属原子(比如Cu原子)从其原始位置移位,如图7-1。这种效应随着导线中电流密度的增加而增加,并且在更高的温度下,动量传递变得更加严重。因此,在先…

[WMCTF2020]Make PHP Great Again require_once 特性

php源码分析 require_once 绕过不能重复包含文件的限制-安全客 - 安全资讯平台 这里是特性 我们首先来解释一下 <?php highlight_file(__FILE__); require_once flag.php; if(isset($_GET[file])) {require_once $_GET[file]; }这个是我们的源代码 PHP包含的格式是将 已…

考验的是技术!如何绕过微软设计的安装Windows 11的硬件要求

这篇文章解释了绕过微软设计的硬件要求的三种方法,允许你在几乎任何电脑上安装Windows 11。 注意:绕过Windows 11要求所涉及的一些过程需要更深入的技术知识。请不要编辑计算机的注册表,除非你对此乐此不疲,因为它可能会损坏你的设备。 绕过Windows 11要求 虽然绕过Wind…

AUTO.js连接电脑时,握手失败

使用模拟器上的autox.js连接vscode。ipv4正确&#xff0c;但总是握手失败。 检查了一下vscode安装的插件&#xff0c;最开始安装的是这个&#xff1a; 将之前安装的插件禁用。 更换这个插件&#xff1a; 然后启动服务后就可以连接成功了。

Nginx服务器配置SSL证书

本文将全面介绍如何在Nginx或Tengine服务器配置SSL证书&#xff0c;具体包括下载和上传证书文件&#xff0c;在Nginx上配置证书文件、证书链和证书密钥等参数&#xff0c;以及安装证书后结果的验证。成功配置SSL证书后&#xff0c;您将能够通过HTTPS加密通道安全访问Nginx服务器…

成分党品牌

现在越来越多的成分党品牌崛起&#xff0c;主打成分护肤&#xff0c;不添加任何成分&#xff0c;其中有Timeless、The Ordinary、John Jeff、欧邦琪&#xff08;Obagi&#xff09;、修丽可&#xff08;SkinCeuticals&#xff09;、HFP 。 参考文章&#xff1a;成分党都会良心推…

试以单链表为存储结构实现简单选择排序的算法

简单选择排序&#xff0c;就是每趟把剩余元素最小或者最大的选出来排到前面 这道题值得推敲的是&#xff0c;p作为一个链表结点也是可以作为for循环的初始条件和判断条件的&#xff0c;至于查找到最小值之后&#xff0c;可以把两者的数值进行一个交换&#xff0c;就不用删结点…

怎么抠图换背景?这三个方法让你轻松抠图

怎么抠图换背景&#xff1f;抠图是每个独立站商家每天必不可少的工作&#xff0c;简单一张图用PS进行抠图还好&#xff0c;但如何多张图&#xff0c;用PS就效率非常低&#xff0c;且需要专业的PS技能才能上手实现精准抠图的目的&#xff0c;那么怎么快速抠图换背景呢&#xff0…

risc-v system instruction

ECALL ecall 指令以前叫做 scall&#xff0c;用于执行环境的变更&#xff0c;它会根据当前所处模式触发不同的执行环境切换异常, 用来执行需要更高权限才能执行的功能; 简单来说&#xff0c;ecall 指令将权限提升到内核模式并将程序跳转到指定的地址。操作系统内核和应用程序…

检测车牌的SIFT特征并匹配

# 代码5-14 检测车牌的SIFT特征并匹配 import cv2img1 cv2.imread(../data/plate.jpg) img2 cv2.imread(../data/car.jpg)sift cv2.SIFT_create() # 利用sift.detectAndCompute()函数找到特征点&#xff0c;计算描述符&#xff1b; kp1, des1 sift.detectAndCompute(img1, …

web279(s2-001)

目前java小白一个&#xff0c;主要是学学别人的思路 进入题目&#xff0c;登录框一个 抓包也没发现什么东西 网上说是struts2框架 Struts2是用Java语言编写的一个基于MVC设计模式的Web应用框架 判断是不是基于struts2的一些方法&#xff1a; 1.通过页面回显的错误消息来判断…

6.5.编解码器信息的收集

那在上节课中呢&#xff1f;我向你介绍了add track相关的内容&#xff0c;那今天呢&#xff1f;我们来看看编解码器信息的收集。那在这里呢&#xff0c;我们需要问几个重要的问题&#xff0c;那首先呢&#xff0c;就是我们上节课通过&#xff0c;可以让web rtc知道我们都要传输…