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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

刘家窑中医医院鲁卫星主任:冬季守护心脑血管,为社区居民送去健康关爱

随着冬季的来临&#xff0c;气温逐渐降低&#xff0c;心脑血管疾病的风险也随之增加。为了提高公众对心脑血管疾病的认知和预防意识&#xff0c;北京刘家窑中医医院于近日成功举办了冬季守护心脑血管公益义诊活动。 本次义诊活动主要针对社区居民中的中老年人&#xff0c;特别是…

微服务技术 RabbitMQ SpringAMQP P61-P76

B站学习视频https://www.bilibili.com/video/BV1LQ4y127n4?p61&vd_source8665d6da33d4e2277ca40f03210fe53a 文档资料: 链接&#xff1a;https://pan.baidu.com/s/1P_Ag1BYiPaF52EI19A0YRw?pwdd03r 提取码&#xff1a;d03r 一 初始MQ 1. 同步通讯 2. 异步通讯 3. MQ常…

聊聊Api接口优化的几个方法!

我负责的系统到2021年初完成了功能上的建设&#xff0c;开始进入到推广阶段。随着推广的逐步深入&#xff0c;收到了很多好评的同时也收到了很多对性能的吐槽。刚刚收到吐槽的时候&#xff0c;我们的心情是这样的&#xff1a; 当越来越多对性能的吐槽反馈到我们这里的时候&…

《对话品牌》——科技与时尚的融合

本期节目《对话品牌》栏目组邀请到了江西先禾服饰有限公司董事长吁火兰女士参加栏目录制&#xff0c;分享其企业故事&#xff0c;树立品牌形象&#xff0c;提升品牌价值&#xff01; 节目嘉宾&#xff1a;吁火兰 节目主持人&#xff1a;杨楠 节目播出平台&#xff1a;中央新…

MagicAnimate:Temporally consistent human image animation using diffusion model

1.Introduction 本文研究了任务形象动画人物&#xff0c;旨在根据特定的运动序列生成一个具有特定参考身份的视频。现有的人物图像动画的数据驱动方法可以基于所使用的生成主干模型分为两类&#xff0c;1.基于GAN&#xff0c;通常使用变形函数将参考图变形为目标姿态&#xff0…

AnimateAnything:Fine-grained open domain image animation with motion guidance

1.Introduction 本文旨在借助视频扩散模型的motion prior来解决开放领域图像动画问题&#xff0c;提出了一种可控扩散图像动画方法&#xff0c;能够在保留细节的同时对图像中的任意对象进行动画处理。为了增强用户对动画过程的控制能力&#xff0c;引入了motion area guidance和…

kafka支持外网访问

kafka支持外网访问 1.kafka正常部署之后如果不修改&#xff0c;外网是无法访问的&#xff0c;具体如下&#xff08;这里是单节点&#xff09; 2.这个时候需要修改kafka的config中的server.properties中的 listeners 修改为0.0.0.0 监控所有网卡&#xff0c;advertised.listene…

汽车软件大时代,如何提升软件工程创新力?

当前&#xff0c;传统汽车产业正加速数字化转型&#xff0c;“软件定义汽车”不断深化。在电动化、智能化和网联化趋势下&#xff0c;汽车软件已经成为汽车技术革新和发展的核心驱动力之一。根据亿欧智库发布的《2023中国智能电动汽车车载软件市场分析报告》&#xff0c;2022年…

Leetcode—783.二叉搜索树节点最小距离【简单】

2023每日刷题&#xff08;五十八&#xff09; Leetcode—783.二叉搜索树节点最小距离 实现代码 /*** Definition for a binary tree node.* struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* };*/ void dfs(struct TreeNode* roo…

为什么要用向量检索

之前写过一篇文章&#xff0c;是我个人到目前阶段的认知&#xff0c;所做的判断。我个人是做万亿级数据的搜索优化工作的。一直在关注任何和搜索相关的内容。 下一代搜索引擎会什么&#xff1f;-CSDN博客 这篇文章再来讲讲为什么要使用向量搜索。 在阅读这篇文章之前呢&#xf…

云原生之深入解析网络服务Istio、eBPF和RSocket Broker

一、服务治理 ① “服务治理”简介 在微服务时代&#xff0c;一个复杂的应用程序被分解为多个组件化、协作和连接的单元&#xff0c;服务往往会承担越来越多的业务责任&#xff0c;这使得服务治理的难度前所未有&#xff0c;仅仅依靠微服务框架级的治理是不够的&#xff0c;构…

腾讯云Elasticsearch Service产品体验

基本介绍 产品概述 腾讯云 Elasticsearch Service&#xff08;ES&#xff09;是云端全托管海量数据检索分析服务&#xff0c;拥有高性能自研内核&#xff0c;集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群&#xff0c;也支持免运维、自动弹性、按需…

SQL进阶 | 外连接

概述 外连接的进阶用法在行列转换中比较有优势&#xff0c;往往存在需要把数据库中的格式转换成报表格式&#xff0c;但是SQL仅仅只是查询数据的语言&#xff0c;格式转换并不是原本的用途。 全外连接 标准 SQL 里定义了外连接的三种类型&#xff0c;如下所示。 左外连接&…

基于ssm生活缴费系统及相关安全技术的设计与实现论文

摘 要 互联网发展至今&#xff0c;无论是其理论还是技术都已经成熟&#xff0c;而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播&#xff0c;搭配信息管理工具可以很好地为人们提供服务。针对生活缴费信息管理混乱&#xff0c;出错率高&#xff0c;信息安全性差…

HTTP/2 快速重置 DDOS 漏洞几乎影响所有网站

一种新形式的DDOS的细节&#xff0c;它需要相对最少的资源来发起前所未有的规模的攻击&#xff0c;这使得网站成为一个明显的危险&#xff0c;因为服务器软件公司竞相发布补丁来防范它。 HTTP/2 快速重置漏洞 该漏洞利用了 HTTP/2 和 HTTP/3 网络协议&#xff0c;这些协议允许…

JavaScipt验证URL新方法(2023 年版)

JavaScript诞生以来&#xff0c;一直没有一种简单的方法验证URL&#xff0c;现在JavaScript新增了一个新方法——URL.canParse。 URL.canParse(https://www.stefanjudis.com); // true URL.canParse(www.stefanjudis.com); // falseURL.canParse() 是一种快速验证字符串是否为…

开源 Serverless 框架 Laf 性能优化实践

介绍 Laf 是一个完全开源的 Serverless 框架&#xff0c;Laf 的 Node.js 运行时容器 (以下简称为 Runtime) 是 Laf 的函数执行环境&#xff0c;依托于 Express.js 框架。采用容器进程常驻的方式&#xff0c;每一个应用对应于一个或多个容器 (弹性伸缩下)&#xff0c;底层使用了…

雅典娜Athena-signa音频算法源码与麦克风阵列角度定义互换问题

雅典娜Athena-signa音频算法源码与麦克风阵列角度定义互换问题 是否需要申请加入数字音频系统研究开发交流答疑群(课题组)?可加我微信hezkz17, 本群提供音频技术答疑服务,+群赠送语音信号处理降噪算法,蓝牙耳机音频,DSP音频项目核心开发资料, 1 dios_ssp_doa_api.c 2 公…

网站提示不安全

当我们在浏览网站时&#xff0c;可能会遇到浏览器提示网站不安全的情况。这种提示可能源于网站缺乏有效的SSL证书&#xff0c;从而导致用户的个人信息和数据容易受到攻击和窃取。当网站使用SSL证书时&#xff0c;浏览器会显示一个小锁图标&#xff0c;并且网站的URL会以“https…

SQLMAP的使用(rails 为例)

1.启动一个项目&#xff0c;例如rails学习的项目&#xff0c;修改config/database.yml&#xff0c; 假设来一个接口&#xfeff; class YourModel::YourController < ApplicationController def test_sqlisql "select * from your_table_name where id " par…