CN117112041A - 一种PCIe链路参数配置方法、装置、设备及存储介质 - Google Patents
一种PCIe链路参数配置方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117112041A CN117112041A CN202311118605.6A CN202311118605A CN117112041A CN 117112041 A CN117112041 A CN 117112041A CN 202311118605 A CN202311118605 A CN 202311118605A CN 117112041 A CN117112041 A CN 117112041A
- Authority
- CN
- China
- Prior art keywords
- target
- pcie
- pcie link
- link parameter
- parameter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 64
- 238000004590 computer program Methods 0.000 claims description 17
- 238000005457 optimization Methods 0.000 abstract description 8
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种PCIe链路参数配置方法、装置、设备及存储介质,涉及计算机技术领域,包括:在基本输入输出***对PCIe设备进行枚举的过程中获取通过全局参数设置选项配置的第一PCIe链路参数设定值和通过目标PCIe设备对应的目标参数设置选项配置的第二PCIe链路参数设定值;从两个PCIe链路参数设定值中确定目标PCIe链路参数设定值并判断是否位于目标PCIe设备能够支持的预设参数区间内;若位于预设参数区间内,则将目标PCIe链路参数设定值写入至目标PCIe设备对应的寄存器中,完成对目标PCIe设备的相应的PCIe链路参数配置操作。本发明预设PCIe设备的参数值,当预设的参数值不满足寄存器支持时将设备支持的最优值写入,实现动态管理最优化,降低错误的发生概率并提升了处理效率。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种PCIe链路参数配置方法、装置、设备及存储介质。
背景技术
当在设备间相互发送请求时,由于链路过长或者环境因素比如高温高湿等恶劣环境,会导致在默认的Completion Timeout(CTO,完成超时)计时器到期之后,不能返回全部的数据,从而可能会导致一些不可纠正的错误,严重的会导致***宕机。传统的做法是通过在***下寻找相应的设备,获取所在的位置信息后在对设备用命令或脚本进行CompletionTimeout设置,这种方法缺陷不仅仅耗费人力,而且不能保证在开机过程中不会产生问题,同时也只能针对固定配置或者同一配置可采用脚本方式进行修改,效率低下且不安全可靠。
发明内容
有鉴于此,本发明的目的在于提供一种PCIe链路参数配置方法、装置、设备和存储介质,能够实现动态管理最优化,降低错误的发生概率并提升了处理效率。其具体方案如下:
第一方面,本发明公开了一种PCIe链路参数配置方法,包括:
在基本输入输出***对PCIe设备进行枚举的过程中,获取通过全局参数设置选项配置的第一PCIe链路参数设定值以及通过目标PCIe设备对应的目标参数设置选项配置的第二PCIe链路参数设定值;所述全局参数设置选项和所述目标参数设置选项均为预先在所述基本输入输出***的设置界面上新增的设置选项;
从所述第一PCIe链路参数设定值和所述第二PCIe链路参数设定值中确定目标PCIe链路参数设定值;
判断所述目标PCIe链路参数设定值是否位于所述目标PCIe设备能够支持的预设参数区间内;
若所述目标PCIe链路参数设定值位于所述目标PCIe设备对应的所述预设参数区间内,则将所述目标PCIe链路参数设定值写入至所述目标PCIe设备对应的寄存器中,以完成对所述目标PCIe设备的相应的PCIe链路参数配置操作。
可选的,所述获取通过全局参数设置选项配置的第一PCIe链路参数设定值以及通过目标PCIe设备对应的目标参数设置选项配置的第二PCIe链路参数设定值之前,还包括:
在所述基本输入输出***的设置界面上新增每个所述目标PCIe设备对应的设置选项;所述设置选项包含所述全局参数设置选项和所述目标参数设置选项;
获取基于总线和接口标准预先设置的参数区间集合;
基于当前需求从所述参数区间集合中确定第一目标全局参数区间,并利用所述第一目标全局参数区间对所述全局参数设置选项进行参数设定,得到所述第一PCIe链路参数设定值;或,获取预先配置的第一默认值,并利用所述第一默认值对所述全局参数设置选项进行参数设定,得到所述第一PCIe链路参数设定值;
基于所述当前需求以及待设置的所述目标PCIe设备从所述参数区间集合中确定第二目标设备参数区间,并利用所述第二目标全局参数区间对待设置的所述目标PCIe设备对应的所述目标参数设置选项进行参数设定,得到所述第二PCIe链路参数设定值;或,获取预先配置的第二默认值,并利用所述第二默认值对待设置的所述目标PCIe设备对应的所述目标参数设置选项进行参数设定,得到所述第二PCIe链路参数设定值。
可选的,所述从所述第一PCIe链路参数设定值和所述第二PCIe链路参数设定值中确定目标PCIe链路参数设定值,包括:
判断所述第二PCIe链路参数设定值是否为所述第二默认值;
若所述第二PCIe链路参数设定值不为所述第二默认值,则将所述第二PCIe链路参数设定值确定为所述目标PCIe链路参数设定值。
可选的,所述判断所述第二PCIe链路参数设定值是否为所述第二默认值之后,还包括:
若所述第二PCIe链路参数设定值为所述第二默认值,则判断所述第一PCIe链路参数设定值是否为所述第一默认值;
若所述第一PCIe链路参数设定值不为所述第一默认值,则将所述第一PCIe链路参数设定值确定为所述目标PCIe链路参数设定值。
可选的,所述判断所述目标PCIe链路参数设定值是否位于所述目标PCIe设备能够支持的预设参数区间内之后,还包括:
若所述目标PCIe链路参数设定值不位于所述目标PCIe设备能够支持的所述预设参数区间内,则基于所述当前需求从所述参数区间集合中确定能够支持的目标待使用参数区间;
将所述目标待使用参数区间确定为新的所述目标PCIe链路参数设定值,将新的所述目标PCIe链路参数设定值写入所述目标PCIe设备对应的所述寄存器。
可选的,所述将所述目标PCIe链路参数设定值写入至所述目标PCIe设备对应的寄存器中,以完成对所述目标PCIe设备的相应的PCIe链路参数配置操作之后,还包括:
进入操作***并利用预设的硬件配置查看命令查询所述目标PCIe链路参数设定值是否生效。
可选的,所述获取通过全局参数设置选项配置的第一PCIe链路参数设定值以及通过目标PCIe设备对应的目标参数设置选项配置的第二PCIe链路参数设定值之前,还包括:
确定待配置参数;所述待配置参数包括完成超时参数、连接速度、最大有效载荷、带宽以及活动状态电源管理参数中的任一种或者几种的组合;
在所述基本输入输出***的设置界面上针对所述待配置参数新增相应的所述全局参数设置选项和所述目标参数设置选项。
第二方面,本发明公开了一种PCIe链路参数配置装置,包括:
参数设定值获取模块,用于在基本输入输出***对PCIe设备进行枚举的过程中,获取通过全局参数设置选项配置的第一PCIe链路参数设定值以及通过目标PCIe设备对应的目标参数设置选项配置的第二PCIe链路参数设定值;所述全局参数设置选项和所述目标参数设置选项均为预先在所述基本输入输出***的设置界面上新增的设置选项;
目标参数设定值确定模块,用于从所述第一PCIe链路参数设定值和所述第二PCIe链路参数设定值中确定目标PCIe链路参数设定值;
目标参数设定值判断模块,用于判断所述目标PCIe链路参数设定值是否位于所述目标PCIe设备能够支持的预设参数区间内;
参数配置模块,用于若所述目标PCIe链路参数设定值位于所述目标PCIe设备对应的所述预设参数区间内,则将所述目标PCIe链路参数设定值写入至所述目标PCIe设备对应的寄存器中,以完成对所述目标PCIe设备的相应的PCIe链路参数配置操作。
第三方面,本发明公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如前述公开的PCIe链路参数配置方法的步骤。
第四方面,本发明公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如前述公开的PCIe链路参数配置方法。
可见,本发明提供了一种PCIe链路参数配置方法,包括:在基本输入输出***对PCIe设备进行枚举的过程中,获取通过全局参数设置选项配置的第一PCIe链路参数设定值以及通过目标PCIe设备对应的目标参数设置选项配置的第二PCIe链路参数设定值;所述全局参数设置选项和所述目标参数设置选项均为预先在所述基本输入输出***的设置界面上新增的设置选项;从所述第一PCIe链路参数设定值和所述第二PCIe链路参数设定值中确定目标PCIe链路参数设定值;判断所述目标PCIe链路参数设定值是否位于所述目标PCIe设备能够支持的预设参数区间内;若所述目标PCIe链路参数设定值位于所述目标PCIe设备对应的所述预设参数区间内,则将所述目标PCIe链路参数设定值写入至所述目标PCIe设备对应的寄存器中,以完成对所述目标PCIe设备的相应的PCIe链路参数配置操作。由此可见,本发明通过预先设置第一PCIe链路参数设定值以及不同的PCIe设备对应的第二PCIe链路参数设定值,当用户对目标PCIE设备的PCIe链路参数的设置有要求时,判断预先设置的第一PCIe链路参数设定值或第二PCIe链路参数设定值是否满足用户的需求,若不满足则将设备支持的最优值写入,考虑了单个设备的PCIe链路参数的设置,更加灵活满足用户的需求,从而实现动态管理最优化,降低错误的发生概率并提升了处理效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明公开的一种PCIe链路参数配置方法流程图;
图2为本发明公开的一种具体的PCIe链路参数配置方法流程图;
图3为本发明公开的一种具体的PCIe链路参数配置方法流程图;
图4为本发明提供的PCIe链路参数配置装置结构示意图;
图5为本发明提供的一种电子设备结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,传统的做法是通过在***下寻找相应的设备,获取所在的位置信息后在对设备用命令或脚本进行Completion Timeout设置,这种方法缺陷不仅仅耗费人力,而且不能保证在开机过程中不会产生问题,同时也只能针对固定配置或者同一配置可采用脚本方式进行修改,效率低下且不安全可靠。为此,本发明提供了一种PCIe(peripheralcomponent interconnect express,高速串行计算机扩展总线标准)链路参数配置方法,能够实现动态管理最优化,降低错误的发生概率并提升了处理效率。
本发明实施例公开了一种PCIe链路参数配置方法,参见图1所示,该方法包括:
步骤S11:在基本输入输出***对PCIe设备进行枚举的过程中,获取通过全局参数设置选项配置的第一PCIe链路参数设定值以及通过目标PCIe设备对应的目标参数设置选项配置的第二PCIe链路参数设定值;所述全局参数设置选项和所述目标参数设置选项均为预先在所述基本输入输出***的设置界面上新增的设置选项。
本实施例中,在基本输入输出***对PCIe设备进行枚举的过程中,获取通过全局参数设置选项配置的第一PCIe链路参数设定值以及通过目标PCIe设备对应的目标参数设置选项配置的第二PCIe链路参数设定值;所述全局参数设置选项和所述目标参数设置选项均为预先在所述基本输入输出***的设置界面上新增的设置选项。可以理解的是,在BIOS界面增加一个PCIe device(设备)的控制页面-NBIO configuration(配置)(AMD(AdvancedMicro Devices)平台),在页面显示每个root(根节点)port(计算机端口)下的PCIedevice,在每个PCIe device下添加一个例如Completion Timeout的选项(目标参数设置选项)和一个PCIe Gloable Completion Timeout的选项(全局参数设置选项),以便用户进行参数设定。
在服务器BIOS固件启动后,对PCIe设备进行枚举,获取枚举到的PCIE设备的Device Capabilities 2Register(设备容量寄存器)的value值(即第二PCIe链路参数设定值)以及第一PCIe链路参数设定值进行判断,判断该值是否包含bios setup用户选择的参数,也即判断所述第一PCIe链路参数设定值以及所述第二PCIe链路参数设定值是否为用户预先设定的具体值。
可以理解的是,Completion Timeout机制在任何分割事务协议中,都存在与请求者未能收到预期的完成相关的风险,为了允许请求者以标准的方式尝试从这种情况中恢复而定义了Completion Time机制,该机制仅在没有合理预期完成将被返回时激活,并且不应在正常操作条件下发生;这里指定的值不反映预期的服务延迟,并且不能用于估计典型的响应时间。PCIE设备主要是指PCIE接口形式的设备,因为服务器硬件链路设计相对PC较为复杂,有些PCIE链路过长,可能会经过一些PCIE桥或者PCIE SWITCH,ROOT和Endpoint(终端设备)中间可能跨越3层以上bridge设计,甚至还有一些AI(Artificial Intelligence,人工智能)的机型加了Retimer和Rediver的,包括但不限于PCIE接口网卡、PCIE接口RAID(Redundant Arrays of Independent Disks,磁盘阵列)卡、PCIE接口HBA(Host BusAdapter,主机总线适配器)卡、PCIE接口SCSI(Small Computer System Interface,小型计算机***接口)卡、PCIE接口NVME(Non-Volatile Memory express,标准和信息的开放收集)硬盘等PCIE设备,这些设备在和PCIE ROOT COMPLEX、PCIE Switch以及PCIE Express-PCIE BRIDGE上下游之间相互发送请求时,由于链路过长、链路本身冗余性不够或者环境因素比如高温高湿等恶劣环境,会导致在默认的Completion Timeout计时器到期之后,不能返回全部的数据,容易导致丢包或者不可纠正的错误,这些错误会同步记录在PCIe的Advanced Error Capabilities和Control寄存器(高级报错功能与控制寄存器)中,严重的会导致***宕机,无法实现实际的客户需求,严重的还会带来不可估量的产品事故和在线业务的故障。本发明让客户在兼顾硬件冗余性和性能的同时选择适合自己业务的选项,而且本设计不受任何服务器架构芯片影响,应用范围较广可扩展性丰富。不同的PCIE设备在不同条件下对本Completion Timeout参数设置也不相同,由于需要兼顾硬件和性能,因此在设计时不仅考虑了Gloable Completion Timout控制全局的选项,还加上了Per(每个)Port的选项,选项的取值包括但不限于以下参数设置,例如50μs to 100μs、1ms to 10ms、16ms to 55ms、65ms to 210ms等,客户可以指定对PCIE设备或者PCIE Root的CompletionTimeout设置要求,Completion Timeout的值也并不是越大越好,设置过大的话可能会导致硬件真实发生了问题,不能够被及时的发现,从而可能导致客户在跑业务时出现不可估算的损失。
本发明针对在服务器***中因PCIe链路参数设定值(例如Completion Timeout参数)导致不可纠正的错误导致***宕机和数据丢失的问题,通过对PCIE设备包括但不仅限于root或endpoint,PCIE SWITCH或PCIE Express-PCIE桥类型的Completion Timeout参数做设定,若不满足能力寄存器支持的值,则将PCIE设备所能支持的最优CompletionTimeout参数进行设置并写入到对应的PCIE设备中,以达到对所有PCIE设备的CompletionTimeout的设置,考虑了单个设备的Completion Timeout的设定,更加灵活满足用户的需求。因此本发明在BIOS(Basic Input Output System,基本输入输出***)界面增加PCIE设备的待配置参数选项及选项设置值(待配置参数选项为完成超时参数、连接速度、最大有效载荷、带宽以及活动状态电源管理参数中的任一种或者几种的组合),开机过程在PCIE枚举轮询时对每个获取的PCIE设备的能力信息(即目标PCIe设备能够支持的预设参数区间),根据PCIE设备的能力信息与选项设置值的比较结果进行相应的Completion Timeout参数设置,动态对PCIE设备统一设置待配置参数选项。
步骤S12:从所述第一PCIe链路参数设定值和所述第二PCIe链路参数设定值中确定目标PCIe链路参数设定值。
本实施例中,判断所述第一PCIe链路参数设定值以及所述第二PCIe链路参数设定值是否为用户预先设定的具体值之后,若所述第一PCIe链路参数设定值以及所述第二PCIe链路参数设定值为用户预先设定的具体值,则从所述第一PCIe链路参数设定值和所述第二PCIe链路参数设定值中确定目标PCIe链路参数设定值。具体的,判断所述第二PCIe链路参数设定值是否为所述第二默认值;若所述第二PCIe链路参数设定值不为所述第二默认值,则将所述第二PCIe链路参数设定值确定为所述目标PCIe链路参数设定值;若所述第二PCIe链路参数设定值为所述第二默认值,则判断所述第一PCIe链路参数设定值是否为所述第一默认值;若所述第一PCIe链路参数设定值不为所述第一默认值,则将所述第一PCIe链路参数设定值确定为所述目标PCIe链路参数设定值。
如图2所示,BIOS启动之后进行枚举,获取配置的第一PCIe链路参数设定值(即gloable设定值)以及第二PCIe链路参数设定值(即单device设定值),在第一PCIe链路参数设定值与第二PCIe链路参数设定值均存在的情况下,首先判断第二PCIe链路参数设定值是否为所述第二默认值Auto,若所述第二PCIe链路参数设定值不为所述第二默认值Auto,则将所述第二PCIe链路参数设定值确定为所述目标PCIe链路参数设定值;若所述第二PCIe链路参数设定值为所述第二默认值Auto,此时进一步判断第一PCIe链路参数设定值是否为所述第一默认值Auto;若所述第一PCIe链路参数设定值不为所述第一默认值,则将所述第一PCIe链路参数设定值确定为所述目标PCIe链路参数设定值。
需要指出的是,所述第一默认值与所述第二默认值可以为相同的值,也可以为不同的值,通常情况下将默认值设置为较小的值。在第一PCIe链路参数设定值与第二PCIe链路参数设定值均存在不为默认值Auto的预设值时,第二PCIe链路参数设定值的优先级高于第一PCIe链路参数设定值。
步骤S13:判断所述目标PCIe链路参数设定值是否位于所述目标PCIe设备能够支持的预设参数区间内。
本实施例中,从所述第一PCIe链路参数设定值和所述第二PCIe链路参数设定值中确定目标PCIe链路参数设定值之后,判断所述目标PCIe链路参数设定值是否位于所述目标PCIe设备能够支持的预设参数区间内。具体的,若所述目标PCIe链路参数设定值不位于所述目标PCIe设备能够支持的所述预设参数区间内,则基于所述当前需求从所述参数区间集合中确定能够支持的目标待使用参数区间;将所述目标待使用参数区间确定为新的所述目标PCIe链路参数设定值,将新的所述目标PCIe链路参数设定值写入所述目标PCIe设备对应的所述寄存器。
可以理解的是,如上述图2所示,确定目标PCIe链路参数设定值之后,获取当前目标PCIe设备的能力区间,即目标PCIe设备能够支持的预设参数区间,判断目标PCIe链路参数设定值是否位于所述目标PCIe设备能够支持的预设参数区间内,若所述目标PCIe链路参数设定值不位于所述目标PCIe设备对应的所述预设参数区间内,则表明此时预设的目标PCIe链路参数设定值无法使用,超出当前目标PCIe设备的能力范围,此时从参数区间集合中确定当前目标PCIe设备能够支持的目标待使用参数区间,所述目标待使用参数区间不一定为当前能力范围内的最大区间,而是根据不同需求选择当前的最优区间为目标待使用参数区间,并将该目标待使用参数区间确定为新的所述目标PCIe链路参数设定值,将新的所述目标PCIe链路参数设定值写入当前目标PCIe设备对应的所述寄存器,实现自适应动态调整。
步骤S14:若所述目标PCIe链路参数设定值位于所述目标PCIe设备对应的所述预设参数区间内,则将所述目标PCIe链路参数设定值写入至所述目标PCIe设备对应的寄存器中,以完成对所述目标PCIe设备的相应的PCIe链路参数配置操作。
本实施例中,判断所述目标PCIe链路参数设定值是否位于所述目标PCIe设备能够支持的预设参数区间内之后,若所述目标PCIe链路参数设定值位于所述目标PCIe设备对应的所述预设参数区间内,则将所述目标PCIe链路参数设定值写入至所述目标PCIe设备对应的寄存器中,以完成对所述目标PCIe设备的相应的PCIe链路参数配置操作。
可以理解的是,如上述图2所示,若所述第一PCIe链路参数设定值与所述第二PCIe链路参数设定值均为默认值Auto时,此时不再进行默认值与预设参数区间的范围比较,直接将所述第一PCIe链路参数设定值对应的所述第一默认值Auto写入所述目标PCIe设备对应的寄存器中,以完成对所述目标PCIe设备的相应的PCIe链路参数配置操作。
进一步的,完成对所述目标PCIe设备的相应的PCIe链路参数配置操作之后,进入操作***并利用预设的硬件配置查看命令查询所述目标PCIe链路参数设定值是否生效。当目标PCIe设备均轮询完毕后,完成对所述目标PCIe设备的相应的PCIe链路参数配置操作后进入操作***并利用lspic指令查询目标PCIe链路参数设定值是否生效。
可见,本发明提供了一种PCIe链路参数配置方法,包括:在基本输入输出***对PCIe设备进行枚举的过程中,获取通过全局参数设置选项配置的第一PCIe链路参数设定值以及通过目标PCIe设备对应的目标参数设置选项配置的第二PCIe链路参数设定值;所述全局参数设置选项和所述目标参数设置选项均为预先在所述基本输入输出***的设置界面上新增的设置选项;从所述第一PCIe链路参数设定值和所述第二PCIe链路参数设定值中确定目标PCIe链路参数设定值;判断所述目标PCIe链路参数设定值是否位于所述目标PCIe设备能够支持的预设参数区间内;若所述目标PCIe链路参数设定值位于所述目标PCIe设备对应的所述预设参数区间内,则将所述目标PCIe链路参数设定值写入至所述目标PCIe设备对应的寄存器中,以完成对所述目标PCIe设备的相应的PCIe链路参数配置操作。由此可见,本发明通过预先设置第一PCIe链路参数设定值以及不同的PCIe设备对应的第二PCIe链路参数设定值,当用户对目标PCIE设备的PCIe链路参数的设置有要求时,判断预先设置的第一PCIe链路参数设定值或第二PCIe链路参数设定值是否满足用户的需求,若不满足则将设备支持的最优值写入,考虑了单个设备的PCIe链路参数的设置,更加灵活满足用户的需求,从而实现动态管理最优化,降低错误的发生概率并提升了处理效率。
参见图3所示,本发明实施例公开了一种PCIe链路参数配置方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。
步骤S21:确定待配置参数,在所述基本输入输出***的设置界面上针对所述待配置参数新增相应的所述全局参数设置选项和所述目标参数设置选项。
本实施例中,确定待配置参数,在所述基本输入输出***的设置界面上针对所述待配置参数新增相应的所述全局参数设置选项和所述目标参数设置选项。其中,所述待配置参数包括完成超时参数、连接速度、最大有效载荷、带宽以及活动状态电源管理参数中的任一种或者几种的组合。
可以理解的是,本发明可扩充到PCIE-PCIE桥端,或针对某一类设备选择性控制,例如PCIE接口NVME设备、PCIE接口网卡、PCIE接口RAID卡、PCIE接口HBA卡、PCIE接口SCSI卡、PCIE接口Switch芯片等PCIE设备的待配置参数(如Completion Timeout)设置,同时也可对其他PCIE设备的PCIE链路参数进行扩充,如PCIE设备的linkspeed(连接速度)、maxpayload(最大有效载荷)、bandwidth(带宽)、ASPM(Active State Power Management,活动状态电源管理参数)等PCIE可编辑参数设置。
步骤S22:在所述基本输入输出***的设置界面上新增每个所述目标PCIe设备对应的设置选项,获取基于总线和接口标准预先设置的参数区间集合。
本实施例中,在所述基本输入输出***的设置界面上新增每个所述目标PCIe设备对应的设置选项,获取基于总线和接口标准预先设置的参数区间集合;其中,所述设置选项包含所述全局参数设置选项和所述目标参数设置选项。可以理解的是,当所述待配置参数为所述完成超时参数时,在所述基本输入输出***的设置界面上新增每个所述目标PCIe设备对应的Completion Timeout的设置选项,设置选项包含全局完成超时参数设置选项和目标完成超时参数设置选项。例如,通过在BIOS setup界面增加一组设置gloable和单port控制的PCIE Root和Endpoint端的completion timeout选项,选项值(即基于总线和接口标准预先设置的参数区间集合)包括但不限于Range A(50μs to 10ms)、Range B(10ms to250ms)、Range C(250ms to 4s)等PCIE设备可支持的completion timeout的Value值,同时,通过该组选项可在PCIE枚举时对任意PCIEroot端或任意一条PCIe device链路上completion timeout大小进行设置,无需通过***命令或者脚本对PCIE设备completiontimeout进行设备处理。其中,选项值也可以为50μs to 100μs、1ms to 10ms、16ms to55ms、65ms to 210ms等参数变量,并按照PCIe规范默认设置默认值Auto(例如50μs to50ms),可根据实际需求进行修改设置。
步骤S23:设置所述第一PCIe链路参数设定值以及所述第二PCIe链路参数设定值。
本实施例中,获取基于总线和接口标准预先设置的参数区间集合之后,设置所述第一PCIe链路参数设定值以及所述第二PCIe链路参数设定值。具体的,基于当前需求从所述参数区间集合中确定第一目标全局参数区间,并利用所述第一目标全局参数区间对所述全局参数设置选项进行参数设定,得到所述第一PCIe链路参数设定值;或,获取预先配置的第一默认值,并利用所述第一默认值对所述全局参数设置选项进行参数设定,得到所述第一PCIe链路参数设定值。基于所述当前需求以及待设置的所述目标PCIe设备从所述参数区间集合中确定第二目标设备参数区间,并利用所述第二目标全局参数区间对待设置的所述目标PCIe设备对应的所述目标参数设置选项进行参数设定,得到所述第二PCIe链路参数设定值;或,获取预先配置的第二默认值,并利用所述第二默认值对待设置的所述目标PCIe设备对应的所述目标参数设置选项进行参数设定,得到所述第二PCIe链路参数设定值;也即,第一PCIe链路参数设定值与所述第二PCIe链路参数设定值可以从选项值中选择一个选项作为设置的参数值,也可以设置为默认值Auto。
步骤S24:在基本输入输出***对PCIe设备进行枚举的过程中,获取通过全局参数设置选项配置的第一PCIe链路参数设定值以及通过目标PCIe设备对应的目标参数设置选项配置的第二PCIe链路参数设定值。
步骤S25:从所述第一PCIe链路参数设定值和所述第二PCIe链路参数设定值中确定目标PCIe链路参数设定值。
步骤S26:判断所述目标PCIe链路参数设定值是否位于所述目标PCIe设备能够支持的预设参数区间内。
可以理解的是,在PCIE枚举后,若所述第二PCIe链路参数设定值为所述目标PCIe链路参数设定值,通过PCIE规范根据PCIe Device Capabilities 2Register的CompletionTimeout Ranges Supported bit对需要配置的root或者Endpoint的可调整范围区间进行判断,判断所述目标PCIe链路参数设定值是否位于所述目标PCIe设备能够支持的预设参数区间内,若在可选的范围内则按照预先在BIOS setup界面设置的预设值进行参数配置,若不在预设参数区间内,即不在device的Capabilities 2Register支持列表内,那么将不使用预设值进行参数配置,此时根据device的capabilities选择最大的value值写入至所述目标PCIe设备对应的寄存器中,以实现动态管理最优化所有的PCIe device CompletionTimeout参数设置。
以待配置参数为完成超时参数为例,具体的,判断是否是单个root或endpoint设置了Completion Timeout的第二PCIe链路参数设定值,如果设定了则确定第二PCIe链路参数设定值为所述目标PCIe链路参数设定值,在该目标PCIe设备枚举的时候参考此参数,判断第二PCIe链路参数设定值是否在Device Capabilities 2Register的列表内,如果在Device Capabilities 2Register的列表内则表明第二PCIe链路参数设定值是支持的参数,将第二PCIe链路参数设定值写入Device Control 2Register的Completion TimeoutValue对应bit中;如果第二PCIe链路参数设定值不在支持列表内,将当前设备可支持Device Capabilities2Register的最优Completion Timeout Value值写入DeviceControl 2Register的Completion Timeout Value对应bit,从而保证最优。进一步的,如果是单个root或endpoint的Completion Timeout Value选项设定了Auto,则将GloableCompletion Timeout的第一PCIe链路参数设定值确定为所述目标PCIe链路参数设定值,若Gloable Completion Timeou不为Auto,那么判断第一PCIe链路参数设定值是否在DeviceCapabilities 2Register的列表内。
步骤S27:若所述目标PCIe链路参数设定值位于所述目标PCIe设备对应的所述预设参数区间内,则将所述目标PCIe链路参数设定值写入至所述目标PCIe设备对应的寄存器中,以完成对所述目标PCIe设备的相应的PCIe链路参数配置操作。
本发明采取服务器BIOS固件在BIOS SETUP界面增加一组PCIE设备的待配置参数设置选项并将不同参数设置为不同的选项值,同时在BIOS枚举轮询过程中对每个PCIE设备进行判断以确认预先配置的参数是否满足需求。本发明***具有很强的可复制性和拓展性,通过BIOS增加一组PCIE设备类型的控制待配置参数选项并增加相应的选项设置值,本发明具备丰富的扩展性和延伸性,如针对Completion Timeout参数设置可扩充到PCIE桥端、PCIE接口显卡、PCIE接口网卡、PCIE接口RAID卡、PCIE接口HBA卡、PCIE接口SCSI卡等PCIE设备的Completion Timeout设置,同时针对可以通过配置软件修改的PCIE链路参数进行扩充,如PCIE设备的Maxpayload,带宽、速率、ASPM等PCIE标注参数设置,可拓展到其他类型领域并且可以适用于任何架构服务器产品中。
关于上述步骤S24、S25、S27的具体内容可以参考前述实施例中公开的相应内容,在此不再进行赘述。
可见,本申请实施例通过确定待配置参数,在所述基本输入输出***的设置界面上针对所述待配置参数新增相应的所述全局参数设置选项和所述目标参数设置选项;在所述基本输入输出***的设置界面上新增每个所述目标PCIe设备对应的设置选项,获取基于总线和接口标准预先设置的参数区间集合;设置所述第一PCIe链路参数设定值以及所述第二PCIe链路参数设定值;在基本输入输出***对PCIe设备进行枚举的过程中,获取通过全局参数设置选项配置的第一PCIe链路参数设定值以及通过目标PCIe设备对应的目标参数设置选项配置的第二PCIe链路参数设定值;从所述第一PCIe链路参数设定值和所述第二PCIe链路参数设定值中确定目标PCIe链路参数设定值;判断所述目标PCIe链路参数设定值是否位于所述目标PCIe设备能够支持的预设参数区间内;若所述目标PCIe链路参数设定值位于所述目标PCIe设备对应的所述预设参数区间内,则将所述目标PCIe链路参数设定值写入至所述目标PCIe设备对应的寄存器中,以完成对所述目标PCIe设备的相应的PCIe链路参数配置操作,实现动态管理最优化,降低错误的发生概率并提升了处理效率。
参见图4所示,本发明实施例还相应公开了一种PCIe链路参数配置装置,包括:
参数设定值获取模块11,用于在基本输入输出***对PCIe设备进行枚举的过程中,获取通过全局参数设置选项配置的第一PCIe链路参数设定值以及通过目标PCIe设备对应的目标参数设置选项配置的第二PCIe链路参数设定值;所述全局参数设置选项和所述目标参数设置选项均为预先在所述基本输入输出***的设置界面上新增的设置选项;
目标参数设定值确定模块12,用于从所述第一PCIe链路参数设定值和所述第二PCIe链路参数设定值中确定目标PCIe链路参数设定值;
目标参数设定值判断模块13,用于判断所述目标PCIe链路参数设定值是否位于所述目标PCIe设备能够支持的预设参数区间内;
参数配置模块14,用于若所述目标PCIe链路参数设定值位于所述目标PCIe设备对应的所述预设参数区间内,则将所述目标PCIe链路参数设定值写入至所述目标PCIe设备对应的寄存器中,以完成对所述目标PCIe设备的相应的PCIe链路参数配置操作。
可见,本发明包括:在基本输入输出***对PCIe设备进行枚举的过程中,获取通过全局参数设置选项配置的第一PCIe链路参数设定值以及通过目标PCIe设备对应的目标参数设置选项配置的第二PCIe链路参数设定值;所述全局参数设置选项和所述目标参数设置选项均为预先在所述基本输入输出***的设置界面上新增的设置选项;从所述第一PCIe链路参数设定值和所述第二PCIe链路参数设定值中确定目标PCIe链路参数设定值;判断所述目标PCIe链路参数设定值是否位于所述目标PCIe设备能够支持的预设参数区间内;若所述目标PCIe链路参数设定值位于所述目标PCIe设备对应的所述预设参数区间内,则将所述目标PCIe链路参数设定值写入至所述目标PCIe设备对应的寄存器中,以完成对所述目标PCIe设备的相应的PCIe链路参数配置操作。由此可见,本发明通过预先设置第一PCIe链路参数设定值以及不同的PCIe设备对应的第二PCIe链路参数设定值,当用户对目标PCIE设备的PCIe链路参数的设置有要求时,判断预先设置的第一PCIe链路参数设定值或第二PCIe链路参数设定值是否满足用户的需求,若不满足则将设备支持的最优值写入,考虑了单个设备的PCIe链路参数的设置,更加灵活满足用户的需求,从而实现动态管理最优化,降低错误的发生概率并提升了处理效率。
在一些具体实施例中,所述参数设定值获取模块11,具体包括:
设置选项增加单元,用于在所述基本输入输出***的设置界面上新增每个所述目标PCIe设备对应的设置选项;所述设置选项包含所述全局参数设置选项和所述目标参数设置选项;
参数区间集合获取单元,用于获取基于总线和接口标准预先设置的参数区间集合;
第一目标全局参数区间确定单元,用于基于当前需求从所述参数区间集合中确定第一目标全局参数区间;
第一PCIe链路参数设定值确定单元,用于利用所述第一目标全局参数区间对所述全局参数设置选项进行参数设定,得到所述第一PCIe链路参数设定值;或,获取预先配置的第一默认值,并利用所述第一默认值对所述全局参数设置选项进行参数设定,得到所述第一PCIe链路参数设定值;
第二目标设备参数区间确定单元,用于基于所述当前需求以及待设置的所述目标PCIe设备从所述参数区间集合中确定第二目标设备参数区间;
第二PCIe链路参数设定值确定单元,用于利用所述第二目标全局参数区间对待设置的所述目标PCIe设备对应的所述目标参数设置选项进行参数设定,得到所述第二PCIe链路参数设定值;或,获取预先配置的第二默认值,并利用所述第二默认值对待设置的所述目标PCIe设备对应的所述目标参数设置选项进行参数设定,得到所述第二PCIe链路参数设定值;
待配置参数确定单元,用于确定待配置参数;所述待配置参数包括完成超时参数、连接速度、最大有效载荷、带宽以及活动状态电源管理参数中的任一种或者几种的组合;
选项新增单元,用于在所述基本输入输出***的设置界面上针对所述待配置参数新增相应的所述全局参数设置选项和所述目标参数设置选项;
参数设定值获取单元,用于在基本输入输出***对PCIe设备进行枚举的过程中,获取通过全局参数设置选项配置的第一PCIe链路参数设定值以及通过目标PCIe设备对应的目标参数设置选项配置的第二PCIe链路参数设定值;所述全局参数设置选项和所述目标参数设置选项均为预先在所述基本输入输出***的设置界面上新增的设置选项。
在一些具体实施例中,所述目标参数设定值确定模块12,具体包括:
第二PCIe链路参数设定值判断单元,用于判断所述第二PCIe链路参数设定值是否为所述第二默认值;
第一目标PCIe链路参数设定值确定单元,用于若所述第二PCIe链路参数设定值不为所述第二默认值,则将所述第二PCIe链路参数设定值确定为所述目标PCIe链路参数设定值;
第一PCIe链路参数设定值判断单元,用于若所述第二PCIe链路参数设定值为所述第二默认值,则判断所述第一PCIe链路参数设定值是否为所述第一默认值;
第二目标PCIe链路参数设定值确定单元,用于若所述第一PCIe链路参数设定值不为所述第一默认值,则将所述第一PCIe链路参数设定值确定为所述目标PCIe链路参数设定值。
在一些具体实施例中,所述目标参数设定值判断模块13,具体包括:
目标PCIe链路参数设定值判断单元,用于判断所述目标PCIe链路参数设定值是否位于所述目标PCIe设备能够支持的预设参数区间内;
目标待使用参数区间确定单元,用于若所述目标PCIe链路参数设定值不位于所述目标PCIe设备能够支持的所述预设参数区间内,则基于所述当前需求从所述参数区间集合中确定能够支持的目标待使用参数区间;
新的所述目标PCIe链路参数设定值确定单元,用于将所述目标待使用参数区间确定为新的所述目标PCIe链路参数设定值。
在一些具体实施例中,所述参数配置模块14,具体包括:
第一参数配置单元,用于将新的所述目标PCIe链路参数设定值写入所述目标PCIe设备对应的所述寄存器;
第二参数配置单元,用于若所述目标PCIe链路参数设定值位于所述目标PCIe设备对应的所述预设参数区间内,则将所述目标PCIe链路参数设定值写入至所述目标PCIe设备对应的寄存器中,以完成对所述目标PCIe设备的相应的PCIe链路参数配置操作;
目标PCIe链路参数设定值生效查看单元,用于进入操作***并利用预设的硬件配置查看命令查询所述目标PCIe链路参数设定值是否生效。
进一步的,本发明实施例还提供了一种电子设备。图5是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本发明的使用范围的任何限制。
图5为本发明实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的PCIe链路参数配置方法中的相关步骤。另外,本实施例中的电子设备20具体可以为电子计算机。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本发明技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作***221、计算机程序222等,存储方式可以是短暂存储或者永久存储。
其中,操作***221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的PCIe链路参数配置方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
进一步的,本发明实施例还公开了一种计算机可读存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,实现前述任一实施例公开的PCIe链路参数配置方法步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种PCIe链路参数配置方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种PCIe链路参数配置方法,其特征在于,包括:
在基本输入输出***对PCIe设备进行枚举的过程中,获取通过全局参数设置选项配置的第一PCIe链路参数设定值以及通过目标PCIe设备对应的目标参数设置选项配置的第二PCIe链路参数设定值;所述全局参数设置选项和所述目标参数设置选项均为预先在所述基本输入输出***的设置界面上新增的设置选项;
从所述第一PCIe链路参数设定值和所述第二PCIe链路参数设定值中确定目标PCIe链路参数设定值;
判断所述目标PCIe链路参数设定值是否位于所述目标PCIe设备能够支持的预设参数区间内;
若所述目标PCIe链路参数设定值位于所述目标PCIe设备对应的所述预设参数区间内,则将所述目标PCIe链路参数设定值写入至所述目标PCIe设备对应的寄存器中,以完成对所述目标PCIe设备的相应的PCIe链路参数配置操作。
2.根据权利要求1所述的PCIe链路参数配置方法,其特征在于,所述获取通过全局参数设置选项配置的第一PCIe链路参数设定值以及通过目标PCIe设备对应的目标参数设置选项配置的第二PCIe链路参数设定值之前,还包括:
在所述基本输入输出***的设置界面上新增每个所述目标PCIe设备对应的设置选项;所述设置选项包含所述全局参数设置选项和所述目标参数设置选项;
获取基于总线和接口标准预先设置的参数区间集合;
基于当前需求从所述参数区间集合中确定第一目标全局参数区间,并利用所述第一目标全局参数区间对所述全局参数设置选项进行参数设定,得到所述第一PCIe链路参数设定值;或,获取预先配置的第一默认值,并利用所述第一默认值对所述全局参数设置选项进行参数设定,得到所述第一PCIe链路参数设定值;
基于所述当前需求以及待设置的所述目标PCIe设备从所述参数区间集合中确定第二目标设备参数区间,并利用所述第二目标全局参数区间对待设置的所述目标PCIe设备对应的所述目标参数设置选项进行参数设定,得到所述第二PCIe链路参数设定值;或,获取预先配置的第二默认值,并利用所述第二默认值对待设置的所述目标PCIe设备对应的所述目标参数设置选项进行参数设定,得到所述第二PCIe链路参数设定值。
3.根据权利要求2所述的PCIe链路参数配置方法,其特征在于,所述从所述第一PCIe链路参数设定值和所述第二PCIe链路参数设定值中确定目标PCIe链路参数设定值,包括:
判断所述第二PCIe链路参数设定值是否为所述第二默认值;
若所述第二PCIe链路参数设定值不为所述第二默认值,则将所述第二PCIe链路参数设定值确定为所述目标PCIe链路参数设定值。
4.根据权利要求3所述的PCIe链路参数配置方法,其特征在于,所述判断所述第二PCIe链路参数设定值是否为所述第二默认值之后,还包括:
若所述第二PCIe链路参数设定值为所述第二默认值,则判断所述第一PCIe链路参数设定值是否为所述第一默认值;
若所述第一PCIe链路参数设定值不为所述第一默认值,则将所述第一PCIe链路参数设定值确定为所述目标PCIe链路参数设定值。
5.根据权利要求2所述的PCIe链路参数配置方法,其特征在于,所述判断所述目标PCIe链路参数设定值是否位于所述目标PCIe设备能够支持的预设参数区间内之后,还包括:
若所述目标PCIe链路参数设定值不位于所述目标PCIe设备能够支持的所述预设参数区间内,则基于所述当前需求从所述参数区间集合中确定能够支持的目标待使用参数区间;
将所述目标待使用参数区间确定为新的所述目标PCIe链路参数设定值,将新的所述目标PCIe链路参数设定值写入所述目标PCIe设备对应的所述寄存器。
6.根据权利要求2述的PCIe链路参数配置方法,其特征在于,所述将所述目标PCIe链路参数设定值写入至所述目标PCIe设备对应的寄存器中,以完成对所述目标PCIe设备的相应的PCIe链路参数配置操作之后,还包括:
进入操作***并利用预设的硬件配置查看命令查询所述目标PCIe链路参数设定值是否生效。
7.根据权利要求2至6任一项所述的PCIe链路参数配置方法,其特征在于,所述获取通过全局参数设置选项配置的第一PCIe链路参数设定值以及通过目标PCIe设备对应的目标参数设置选项配置的第二PCIe链路参数设定值之前,还包括:
确定待配置参数;所述待配置参数包括完成超时参数、连接速度、最大有效载荷、带宽以及活动状态电源管理参数中的任一种或者几种的组合;
在所述基本输入输出***的设置界面上针对所述待配置参数新增相应的所述全局参数设置选项和所述目标参数设置选项。
8.一种PCIe链路参数配置装置,其特征在于,包括:
参数设定值获取模块,用于在基本输入输出***对PCIe设备进行枚举的过程中,获取通过全局参数设置选项配置的第一PCIe链路参数设定值以及通过目标PCIe设备对应的目标参数设置选项配置的第二PCIe链路参数设定值;所述全局参数设置选项和所述目标参数设置选项均为预先在所述基本输入输出***的设置界面上新增的设置选项;
目标参数设定值确定模块,用于从所述第一PCIe链路参数设定值和所述第二PCIe链路参数设定值中确定目标PCIe链路参数设定值;
目标参数设定值判断模块,用于判断所述目标PCIe链路参数设定值是否位于所述目标PCIe设备能够支持的预设参数区间内;
参数配置模块,用于若所述目标PCIe链路参数设定值位于所述目标PCIe设备对应的所述预设参数区间内,则将所述目标PCIe链路参数设定值写入至所述目标PCIe设备对应的寄存器中,以完成对所述目标PCIe设备的相应的PCIe链路参数配置操作。
9.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的PCIe链路参数配置方法的步骤。
10.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的PCIe链路参数配置方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311118605.6A CN117112041A (zh) | 2023-08-31 | 2023-08-31 | 一种PCIe链路参数配置方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311118605.6A CN117112041A (zh) | 2023-08-31 | 2023-08-31 | 一种PCIe链路参数配置方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117112041A true CN117112041A (zh) | 2023-11-24 |
Family
ID=88794509
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311118605.6A Pending CN117112041A (zh) | 2023-08-31 | 2023-08-31 | 一种PCIe链路参数配置方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117112041A (zh) |
-
2023
- 2023-08-31 CN CN202311118605.6A patent/CN117112041A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7080219B2 (en) | Storage controlling device and control method for a storage controlling device | |
US8433862B2 (en) | Storage system for adjusting asynchronous copy load based on cache activity rate | |
US20080127199A1 (en) | Storage sub-system, host computer, storage system, load balancing method and load balancing program | |
US6820172B2 (en) | Method, system, and program for processing input/output (I/O) requests to a storage space having a plurality of storage devices | |
CN111130962B (zh) | 一种交换机自动化配置方法、设备、***及存储介质 | |
US11966614B2 (en) | Object tiering in a distributed storage system | |
US8504786B2 (en) | Method and apparatus for backing up storage system data | |
US20040019895A1 (en) | Dynamic communication tuning apparatus, systems, and methods | |
US20150286548A1 (en) | Information processing device and method | |
CN115080128A (zh) | 一种硬盘启动顺序管理方法、***、装置及存储介质 | |
CN117632808A (zh) | 多控存储阵列、存储***、数据处理方法以及存储介质 | |
JP2005149283A (ja) | 情報処理システム、情報処理システムの制御方法及びプログラム | |
US7130929B2 (en) | Method for configuring system adapters | |
EP2703993A2 (en) | Information processing apparatus, computer program, and copy control method | |
US20100036932A1 (en) | Computer System and Data Sharing Method | |
CN117112041A (zh) | 一种PCIe链路参数配置方法、装置、设备及存储介质 | |
CN111274192A (zh) | 一种多bmc管理***及刀片服务器 | |
US9876874B2 (en) | Network selecting apparatus and operating method thereof | |
JP6786835B2 (ja) | 管理装置、サーバ、シンクライアントシステム、管理方法及びプログラム | |
US11989105B2 (en) | Storage system and control method for adjusting timeout based on network conditions | |
US7568121B2 (en) | Recovery from failure in data storage systems | |
WO2023116438A1 (zh) | 一种数据访问方法、装置以及设备 | |
JPH09212311A (ja) | ディスクアレイ装置 | |
US20240241748A1 (en) | Asynchronous client to client task management | |
JP2010146215A (ja) | クラスタストレージ装置、クラスタストレージシステム、及びその制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |