CN113688087B - 一种pcie设备枚举方法、***、存储介质及设备 - Google Patents
一种pcie设备枚举方法、***、存储介质及设备 Download PDFInfo
- Publication number
- CN113688087B CN113688087B CN202111241299.6A CN202111241299A CN113688087B CN 113688087 B CN113688087 B CN 113688087B CN 202111241299 A CN202111241299 A CN 202111241299A CN 113688087 B CN113688087 B CN 113688087B
- Authority
- CN
- China
- Prior art keywords
- pcie
- bios
- link
- link information
- cpld
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 230000002093 peripheral effect Effects 0.000 title abstract description 6
- 238000012549 training Methods 0.000 claims abstract description 28
- 230000004044 response Effects 0.000 claims description 43
- 230000005540 biological transmission Effects 0.000 claims description 41
- 238000004590 computer program Methods 0.000 claims description 8
- 238000001514 detection method Methods 0.000 claims description 3
- 230000009467 reduction Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 11
- 230000008439 repair process Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 5
- 230000001965 increasing effect Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1441—Resetting or repowering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3027—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a bus
-
- 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
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种PCIE设备枚举方法、***、存储介质及设备,方法包括:若BIOS上电,对PCIE设备进行PCIE链路训练,以获取其链路信息,并判断链路信息是否满足预设链路要求;若链路信息不满足预设链路要求,对PCIE设备重新进行PCIE链路训练,以获取其新链路信息并发送至CPLD;若BIOS完成启动,向CPLD发送启动完成的标志,并由CPLD基于标志检测BIOS是否完成启动;若检测到BIOS完成启动且确认接收到的新链路信息不满足预设链路要求,对PCIE设备进行复位;若完成复位,由BIOS对PCIE设备进行枚举。本发明解决了PCIE设备降带宽及速率的问题,且不会额外增加BIOS的启动时间。
Description
技术领域
本发明涉及服务器技术领域,尤其涉及一种PCIE设备枚举方法、***、存储介质及设备。
背景技术
部分CPU(中央处理器)在运行时,针对某些PCIE(peripheral componentinterconnect express,一种高速串行计算机扩展总线标准)设备会出现概率性降lane(带宽)问题,例如国产的海光CPU。针对此问题,海光提供的策略为延长PCIE设备的解复位时间,然后当PCIE设备解复位完成后,BIOS开始进行PCIE设备枚举。
但是,上述策略会导致BIOS启动时间延长至少20S以上(具体的延长时间与***的内存数量有关)。对于存储设备而言,BIOS启动时间是衡量设备性能的重要指标之一,而上述策略会对该指标造成一定影响。
因此,在预备对PCIE设备进行枚举时需要一种即能解决PCIE设备降lane问题,又不会额外增加BIOS启动时间的方法。
发明内容
有鉴于此,本发明的目的在于提出一种PCIE设备枚举方法、***、存储介质及设备,用以避免在对PCIE设备枚举前该PCIE设备的链路带宽被降低,且不会影响BIOS启动时间。
基于上述目的,本发明提供了一种PCIE设备枚举方法,包括以下步骤:
响应于BIOS上电,由BIOS对PCIE设备进行PCIE链路训练,以获取PCIE设备的链路信息,并判断链路信息是否满足预设链路要求;
响应于链路信息不满足预设链路要求,由BIOS对PCIE设备重新进行PCIE链路训练,以获取PCIE设备的新链路信息,并将新链路信息发送至CPLD,并判断BIOS是否完成启动;
响应于BIOS完成启动,由BIOS向CPLD发送启动完成的标志,并由CPLD基于标志检测BIOS是否完成启动;
响应于CPLD检测到BIOS完成启动且确认接收到的新链路信息不满足预设链路要求,对PCIE设备进行复位;
响应于PCIE设备完成复位,由BIOS对PCIE设备进行枚举。
在一些实施例中,链路信息包括PCIE链路的传输速率及带宽。
在一些实施例中,判断链路信息是否满足预设链路要求包括:
判断PCIE链路的传输速率及带宽是否分别为预设传输速率及预设带宽。
在一些实施例中,响应于PCIE设备完成复位,由BIOS对PCIE设备进行枚举包括:
响应于PCIE设备完成复位,由CPLD将复位完成标志发送至BIOS;
响应于BIOS接收到复位完成标志,对PCIE设备进行枚举。
在一些实施例中,方法还包括:
响应于链路信息满足预设链路要求,由BIOS对PCIE设备进行枚举。
在一些实施例中,方法还包括:
响应于CPLD检测到BIOS完成启动且确认接收到的新链路信息满足预设链路要求,由BIOS对PCIE设备进行枚举。
在一些实施例中,方法还包括:
响应于BIOS获取到链路信息,通过IIC总线将链路信息发送至CPLD。
本发明的另一方面,还提供了一种PCIE设备枚举***,包括:
判断模块,配置用于响应于BIOS上电,由BIOS对PCIE设备进行PCIE链路训练,以获取PCIE设备的链路信息,并判断链路信息是否满足预设链路要求;
重新训练模块,配置用于响应于链路信息不满足预设链路要求,由BIOS对PCIE设备重新进行PCIE链路训练,以获取PCIE设备的新链路信息,并将新链路信息发送至CPLD,并判断BIOS是否完成启动;
检测模块,配置用于响应于BIOS完成启动,由BIOS向CPLD发送启动完成的标志,并由CPLD基于标志检测BIOS是否完成启动;
复位模块,配置用于响应于CPLD检测到BIOS完成启动且确认接收到的新链路信息不满足预设链路要求,对PCIE设备进行复位;以及
PCIE设备枚举模块,配置用于响应于PCIE设备完成复位,由BIOS对PCIE设备进行枚举。
本发明的又一方面,还提供了一种计算机可读存储介质,存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述方法。
本发明的再一方面,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该计算机程序被处理器执行时执行上述方法。
本发明至少具有以下有益技术效果:
本发明的PCIE设备枚举方法,通过重新进行PCIE链路训练和对PCIE设备进行复位这两种软硬件修复方式来确保PCIE链路带宽及速率正常;通过CPLD能够间接监测PCIE链路状态,进而通过硬件方式对PCIE设备进行二次修复;即能解决PCIE设备降带宽及速率的问题,又不会额外增加BIOS的启动时间,同时不影响BIOS枚举流程,进而优化了存储设备的整体性能指标。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为根据本发明实施例提供的PCIE设备枚举方法的示意图;
图2为根据本发明实施例提供的实现PCIE设备枚举方法的结构示意图;
图3为根据本发明实施例提供的PCIE设备枚举***的示意图;
图4为根据本发明实施例提供的实现PCIE设备枚举方法的计算机可读存储介质的示意图;
图5为根据本发明实施例提供的执行PCIE设备枚举方法的计算机设备的硬件结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称的非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备固有的其他步骤或单元。
基于上述目的,本发明实施例的第一个方面,提出了一种PCIE设备枚举方法的实施例。图1示出的是本发明提供的PCIE设备枚举方法的实施例的示意图。如图1所示,本发明实施例包括如下步骤:
步骤S10、响应于BIOS上电,由BIOS对PCIE设备进行PCIE链路训练,以获取PCIE设备的链路信息,并判断链路信息是否满足预设链路要求;
步骤S20、响应于链路信息不满足预设链路要求,由BIOS对PCIE设备重新进行PCIE链路训练,以获取PCIE设备的新链路信息,并将新链路信息发送至CPLD,并判断BIOS是否完成启动;
步骤S30、响应于BIOS完成启动,由BIOS向CPLD发送启动完成的标志,并由CPLD基于标志检测BIOS是否完成启动;
步骤S40、响应于CPLD检测到BIOS完成启动且确认接收到的新链路信息不满足预设链路要求,对PCIE设备进行复位;
步骤S50、响应于PCIE设备完成复位,由BIOS对PCIE设备进行枚举。
BIOS(Basic Input Output System)表示基本输入输出***,它是一组固化到计算机内主板上一个ROM(只读存储)芯片上的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和***自启动程序。
PCIE(peripheral component interconnect express)是一种高速串行计算机扩展总线标准,属于高速串行点对点双通道高带宽传输,所连接的设备分配独享通道带宽,不共享总线带宽。其定义了多个宽度的插槽和连接器:x1、x4、x8、x12、x16和x32,通常,低速外设(例如Wi-Fi卡)使用单通道(x1)链路,而图形适配器更多地使用更快更宽的16通道链路。
CPLD(Complex Programming Logic Device)表示复杂可编程逻辑器件,通过采用CMOS EPROM、EEPROM(带电可擦可编程只读存储器)、快闪存储器和SRAM(静态随机存储器)等编程技术,从而构成了高密度、高速度和低功耗的可编程逻辑器。CPLD是一种用户根据各自需要而自行构造逻辑功能的数字集成电路,其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件,并通过下载电缆将代码传送到目标芯片中以实现设计的数字***。
图2示出了实现PCIE设备枚举方法的结构示意图。如图2所示,CPU(中央处理器)通过PCIE总线挂载PCIE设备(SSD_0、SSD_1及PCIE Switch)。在PCIE链路可以正常工作之前,需要对PCIE链路进行链路训练(training)。BIOS获取PCIE设备的链路信息,同时BIOS通过IIC总线将PCIE设备的链路信息传递给主板CPLD。当BIOS检测到PCIE设备的链路信息异常时,首先通过retrain(重新进行PCIE链路训练)的方式进行修复,若修复成功则进行PCIE设备枚举,若BIOS修复失败则将修复任务交给CPLD,CPLD通过硬件复位的方式进行修复。
本发明实施例的PCIE设备枚举方法,通过重新进行PCIE链路训练和对PCIE设备进行复位这两种软硬件修复方式来确保PCIE链路带宽及速率正常;通过CPLD能够间接监测PCIE链路状态,进而通过硬件方式对PCIE设备进行二次修复;即能解决PCIE设备降带宽及速率的问题,又不会额外增加BIOS的启动时间,同时不影响BIOS枚举流程,进而优化了存储设备的整体性能指标。
在一些实施例中,链路信息包括PCIE链路的传输速率及带宽。
在一些实施例中,判断链路信息是否满足预设链路要求包括:判断PCIE链路的传输速率及带宽是否分别为预设传输速率及预设带宽。
如图2所示,PCIE设备包括SSD_0、SSD_1、PCIE Switch,SSD_0与CPU(中央处理器)之间的PCIE链路规格为PCIE3.0 x4,SSD_1与CPU之间的PCIE链路规格为PCIE3.0 x4,PCIESwitch与CPU之间的PCIE链路规格为PCIE3.0 x16。其中,SSD为固态硬盘,PCIE Switch为PCIE扩展器。3.0与PCIE链路的速率有关,x4、x16与PCIE链路的带宽有关。
PCIE链路具有多种规格:PCIE 1.0a的每通道数据速率为250 MB / s,传输速率为每秒2.5 GT / s;传输速率表示为每秒传输量,而不是每秒位数,因为传输量包括不提供额外吞吐量的开销位;PCIE 1.x使用8b / 10b编码方案,导致占用了20% (= 2/10)的原始信道带宽。PCIE 2.0标准将PCIE 1.0至5 GT / s的传输速率提高了一倍,每通道吞吐量从250MB / s上升到500 MB / s;因此,32通道PCIE连接器(x32)可支持高达16 GB / s的总吞吐量。PCIE 3.0将编码方案从之前的8b / 10b编码升级到128b / 130b,将带宽开销从PCIE2.0的20%降低到大约1.54%(= 2/130);PCIE3.0的8 GT / s比特率有效地提供每通道985MB / s,实际上相对于PCIE 2.0的通道带宽翻倍。PCIE 4.0提供16Gb / s比特率,使PCIE3.0提供的带宽增加一倍,同时保持软件支持和二手机械接口的向后兼容性;PCIE 4.0规格也将带来OCuLink-2, OCuLink版本2将具有高达16 GT / s(总共8GB / s×4通道)。PCIE链路规格中的x1、x2、x4、x8、x16表示可运行的通道数,它们的通道数依次增加,则传输的数据量也依次增多,因此与带宽息息相关,且常常用来作为衡量PCIE链路带宽的标准。
本实施例中,PCIE链路的速率和带宽规格都是提前设定的,因此,在由BIOS对PCIE设备进行PCIE链路训练后,BIOS获取到PCIE设备的链路信息,并判断链路信息中PCIE链路的传输速率及带宽是否分别为预设的传输速率及预设的带宽。
在一些实施例中,响应于PCIE设备完成复位,由BIOS对PCIE设备进行枚举包括:响应于PCIE设备完成复位,由CPLD将复位完成标志发送至BIOS;响应于BIOS接收到复位完成标志,对PCIE设备进行枚举。
如图2所示,CPLD向SSD_0发送PCIE_RST_N的复位信号,以控制SSD_0复位。相应的,CPLD向SSD_1发送PCIE_RST_N的复位信号,以控制SSD_1复位;CPLD向PCIE Switch发送PCIE_RST_N的复位信号,以控制PCIE Switch复位。在SSD_0、SSD_1、PCIE Switch各自复位完成后,CPLD会分别发送复位完成的标志给到BIOS。当BIOS收到关于SSD_0的复位完成标志后,会对SSD_0进行枚举;当BIOS收到关于SSD_1的复位完成标志后,会对SSD_1进行枚举;当BIOS收到关于PCIE Switch的复位完成标志后,会对PCIE Switch进行枚举。
在一些实施例中,方法还包括:响应于链路信息满足预设链路要求,由BIOS对PCIE设备进行枚举。
具体地,若链路信息中的PCIE链路的传输速率及带宽分别为预设传输速率及预设带宽,则由BIOS对PCIE设备进行枚举。如图2所示,若SSD_0的链路信息中的PCIE链路的传输速率及带宽符合PCIE3.0 x4规格的传输速率及带宽,则由BIOS对SSD_0进行枚举。若SSD_1的链路信息中的PCIE链路的传输速率及带宽符合PCIE3.0 x4规格的传输速率及带宽,则由BIOS对SSD_1进行枚举。若PCIE Switch的链路信息中的PCIE链路的传输速率及带宽符合PCIE3.0 x16规格的传输速率及带宽,则由BIOS对PCIE Switch进行枚举。
在一些实施例中,方法还包括:响应于CPLD检测到BIOS完成启动且确认接收到的新链路信息满足预设链路要求,由BIOS对PCIE设备进行枚举。
具体地,若CPLD检测到BIOS完成启动,且确认接收到的PCIE设备的新链路信息中的PCIE链路的传输速率及带宽分别为预设传输速率及预设带宽,则由BIOS对PCIE设备进行枚举。
如图2所示,当BIOS对SSD_0重新进行PCIE链路训练后,获取到SSD_0的新链路信息,并将新链路信息发送至CPLD;当BIOS完成启动后,BIOS向CPLD发送启动完成的标志((BIOS_COMPLETE)),并由CPLD基于标志检测BIOS是否完成启动;若CPLD检测到BIOS完成启动且确认接收到的SSD_0的新链路信息中的PCIE链路的传输速率及带宽符合PCIE3.0 x4规格的传输速率及带宽,对SSD_0进行枚举。
当BIOS对SSD_1重新进行PCIE链路训练后,获取到SSD_1的新链路信息,并将新链路信息发送至CPLD;当BIOS完成启动后,BIOS向CPLD发送启动完成的标志,并由CPLD基于标志检测BIOS是否完成启动;若CPLD检测到BIOS完成启动且确认接收到的SSD_1的新链路信息中的PCIE链路的传输速率及带宽符合PCIE3.0 x4规格的传输速率及带宽,对SSD_1进行枚举。
当BIOS对PCIE Switch重新进行PCIE链路训练后,获取到PCIE Switch的新链路信息,并将新链路信息发送至CPLD;当BIOS完成启动后,BIOS向CPLD发送启动完成的标志,并由CPLD基于标志检测BIOS是否完成启动;若CPLD检测到BIOS完成启动且确认接收到的PCIESwitch的新链路信息中的PCIE链路的传输速率及带宽符合PCIE3.0 x16规格的传输速率及带宽,对PCIE Switch进行枚举。
本实施例通过由BIOS给出BIOS启动完成的标志,CPLD接收该标志后进行复位操作,能够确保链路状态稳定。
在一些实施例中,方法还包括:响应于BIOS获取到链路信息,通过IIC总线将链路信息发送至CPLD。
具体地,当BIOS上电后,由BIOS对PCIE设备进行PCIE链路训练,PCIE链路训练完成后,由BIOS获取PCIE设备的链路信息,然后将获取到的链路信息通过IIC总线发送到CPLD。
IIC(Inter-Integrated Circuit)表示集成电路总线,它是一种双向二进制同步串行总线,在硬件上,IIC总线只需要一根数据线和一根时钟线两根线,不需要特殊的接口电路。本实施例中,CPLD通过IIC接口给出复位完成标志位,并由BIOS再次进行枚举,不会对PCIE设备资源分配构成影响,可实现上层驱动和OS(操作***)无感修复。
本发明实施例的第二个方面,还提供了一种PCIE设备枚举***。图3示出的是本发明提供的PCIE设备枚举***的实施例的示意图。如图3所示,一种PCIE设备枚举***包括:判断模块10,配置用于响应于BIOS上电,由BIOS对PCIE设备进行PCIE链路训练,以获取PCIE设备的链路信息,并判断链路信息是否满足预设链路要求;重新训练模块20,配置用于响应于链路信息不满足预设链路要求,由BIOS对PCIE设备重新进行PCIE链路训练,以获取PCIE设备的新链路信息,并将新链路信息发送至CPLD,并判断BIOS是否完成启动;检测模块30,配置用于响应于BIOS完成启动,由BIOS向CPLD发送启动完成的标志,并由CPLD基于标志检测BIOS是否完成启动;复位模块40,配置用于响应于CPLD检测到BIOS完成启动且确认接收到的新链路信息不满足预设链路要求,对PCIE设备进行复位;以及PCIE设备枚举模块50,配置用于响应于PCIE设备完成复位,由BIOS对PCIE设备进行枚举。
在一些实施例中,链路信息包括PCIE链路的传输速率及带宽。
在一些实施例中,判断模块10包括链路信息判断模块,配置用于判断PCIE链路的传输速率及带宽是否分别为预设传输速率及预设带宽。
在一些实施例中,PCIE设备枚举模块50进一步配置用于响应于PCIE设备完成复位,由CPLD将复位完成标志发送至BIOS;响应于BIOS接收到复位完成标志,对PCIE设备进行枚举。
在一些实施例中,***还包括第一枚举模块,配置用于响应于链路信息满足预设链路要求,由BIOS对PCIE设备进行枚举。
在一些实施例中,***还包括第二枚举模块,配置用于响应于CPLD检测到BIOS完成启动且确认接收到的新链路信息满足预设链路要求,由BIOS对PCIE设备进行枚举。
在一些实施例中,***还包括链路信息发送模块,配置用于响应于BIOS获取到链路信息,通过IIC总线将链路信息发送至CPLD。
本发明实施例的PCIE设备枚举***,通过重新进行PCIE链路训练和对PCIE设备进行复位这两种软硬件修复方式来确保PCIE链路带宽及速率正常;通过CPLD能够间接监测PCIE链路状态,进而通过硬件方式对PCIE设备进行二次修复;即能解决PCIE设备降带宽及速率的问题,又不会额外增加BIOS的启动时间,同时不影响BIOS枚举流程,进而优化了存储设备的整体性能指标。
本发明实施例的第三个方面,还提供了一种计算机可读存储介质,图4示出了根据本发明实施例提供的实现PCIE设备枚举方法的计算机可读存储介质的示意图。如图4所示,计算机可读存储介质3存储有计算机程序指令31。该计算机程序指令31被处理器执行时实现如下步骤:
响应于BIOS上电,由BIOS对PCIE设备进行PCIE链路训练,以获取PCIE设备的链路信息,并判断链路信息是否满足预设链路要求;
响应于链路信息不满足预设链路要求,由BIOS对PCIE设备重新进行PCIE链路训练,以获取PCIE设备的新链路信息,并将新链路信息发送至CPLD,并判断BIOS是否完成启动;
响应于BIOS完成启动,由BIOS向CPLD发送启动完成的标志,并由CPLD基于标志检测BIOS是否完成启动;
响应于CPLD检测到BIOS完成启动且确认接收到的新链路信息不满足预设链路要求,对PCIE设备进行复位;
响应于PCIE设备完成复位,由BIOS对PCIE设备进行枚举。
在一些实施例中,链路信息包括PCIE链路的传输速率及带宽。
在一些实施例中,判断链路信息是否满足预设链路要求包括:判断PCIE链路的传输速率及带宽是否分别为预设传输速率及预设带宽。
在一些实施例中,响应于PCIE设备完成复位,由BIOS对PCIE设备进行枚举包括:响应于PCIE设备完成复位,由CPLD将复位完成标志发送至BIOS;响应于BIOS接收到复位完成标志,对PCIE设备进行枚举。
在一些实施例中,步骤还包括:响应于链路信息满足预设链路要求,由BIOS对PCIE设备进行枚举。
在一些实施例中,步骤还包括:响应于CPLD检测到BIOS完成启动且确认接收到的新链路信息满足预设链路要求,由BIOS对PCIE设备进行枚举。
在一些实施例中,步骤还包括:响应于BIOS获取到链路信息,通过IIC总线将链路信息发送至CPLD。
应当理解,在相互不冲突的情况下,以上针对根据本发明的PCIE设备枚举方法阐述的所有实施方式、特征和优势同样地适用于根据本发明的PCIE设备枚举***和存储介质。
本发明实施例的第四个方面,还提供了一种计算机设备,包括如图5所示的存储器402和处理器401,该存储器402中存储有计算机程序,该计算机程序被该处理器401执行时实现上述任意一项实施例的方法。
如图5所示,为本发明提供的执行PCIE设备枚举方法的计算机设备的一个实施例的硬件结构示意图。以如图5所示的计算机设备为例,在该计算机设备中包括一个处理器401以及一个存储器402,并还可以包括:输入装置403和输出装置404。处理器401、存储器402、输入装置403和输出装置404可以通过总线或者其他方式连接,图5中以通过总线连接为例。输入装置403可接收输入的数字或字符信息,以及产生与PCIE设备枚举***的用户设置以及功能控制有关的键信号输入。输出装置404可包括显示屏等显示设备。
存储器402作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的PCIE设备枚举方法对应的程序指令/模块。存储器402可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储PCIE设备枚举方法的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器402可选包括相对于处理器401远程设置的存储器,这些远程存储器可以通过网络连接至本地模块。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器401通过运行存储在存储器402中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的PCIE设备枚举方法。
最后需要说明的是,本文的计算机可读存储介质(例如,存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。作为例子而非限制性的,非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)或快闪存储器。易失性存储器可以包括随机存取存储器(RAM),该RAM可以充当外部高速缓存存储器。作为例子而非限制性的,RAM 可以以多种形式获得,比如同步RAM(DRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据速率SDRAM(DDRSDRAM)、增强SDRAM(ESDRAM)、同步链路DRAM(SLDRAM)、以及直接Rambus RAM(DRRAM)。所公开的方面的存储设备意在包括但不限于这些和其它合适类型的存储器。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个***的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
结合这里的公开所描述的各种示例性逻辑块、模块和电路可以利用被设计成用于执行这里功能的下列部件来实现或执行:通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合。通用处理器可以是微处理器,但是可替换地,处理器可以是任何传统处理器、控制器、微控制器或状态机。处理器也可以被实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器结合DSP和/或任何其它这种配置。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
Claims (9)
1.一种PCIE设备枚举方法,其特征在于,包括以下步骤:
响应于BIOS上电,由所述BIOS对PCIE设备进行PCIE链路训练,以获取所述PCIE设备的链路信息,并判断所述链路信息是否满足预设链路要求;
响应于所述链路信息不满足所述预设链路要求,由所述BIOS对所述PCIE设备重新进行PCIE链路训练,以获取所述PCIE设备的新链路信息,并将所述新链路信息发送至CPLD,并判断所述BIOS是否完成启动;
响应于所述BIOS完成启动,由所述BIOS向所述CPLD发送启动完成的标志,并由所述CPLD基于所述标志检测所述BIOS是否完成启动;
响应于所述CPLD检测到所述BIOS完成启动且确认接收到的所述新链路信息不满足所述预设链路要求,对所述PCIE设备进行复位;
响应于所述PCIE设备完成复位,由所述BIOS对所述PCIE设备进行枚举;
响应于所述CPLD检测到所述BIOS完成启动且确认接收到的所述新链路信息满足所述预设链路要求,由所述BIOS对所述PCIE设备进行枚举。
2.根据权利要求1所述的方法,其特征在于,所述链路信息包括PCIE链路的传输速率及带宽。
3.根据权利要求2所述的方法,其特征在于,判断所述链路信息是否满足预设链路要求包括:
判断所述PCIE链路的传输速率及带宽是否分别为预设传输速率及预设带宽。
4.根据权利要求1所述的方法,其特征在于,响应于所述PCIE设备完成复位,由所述BIOS对所述PCIE设备进行枚举包括:
响应于所述PCIE设备完成复位,由所述CPLD将复位完成标志发送至所述BIOS;
响应于所述BIOS接收到所述复位完成标志,对所述PCIE设备进行枚举。
5.根据权利要求1所述的方法,其特征在于,还包括:
响应于所述链路信息满足所述预设链路要求,由所述BIOS对所述PCIE设备进行枚举。
6.根据权利要求1所述的方法,其特征在于,还包括:
响应于所述BIOS获取到所述链路信息,通过IIC总线将所述链路信息发送至所述CPLD。
7.一种PCIE设备枚举***,其特征在于,包括:
判断模块,配置用于响应于BIOS上电,由所述BIOS对PCIE设备进行PCIE链路训练,以获取所述PCIE设备的链路信息,并判断所述链路信息是否满足预设链路要求;
重新训练模块,配置用于响应于所述链路信息不满足所述预设链路要求,由所述BIOS对所述PCIE设备重新进行PCIE链路训练,以获取所述PCIE设备的新链路信息,并将所述新链路信息发送至CPLD,并判断所述BIOS是否完成启动;
检测模块,配置用于响应于所述BIOS完成启动,由所述BIOS向所述CPLD发送启动完成的标志,并由所述CPLD基于所述标志检测所述BIOS是否完成启动;
复位模块,配置用于响应于所述CPLD检测到所述BIOS完成启动且确认接收到的所述新链路信息不满足所述预设链路要求,对所述PCIE设备进行复位;以及
PCIE设备枚举模块,配置用于响应于所述PCIE设备完成复位,由所述BIOS对所述PCIE设备进行枚举;以及响应于所述CPLD检测到所述BIOS完成启动且确认接收到的所述新链路信息满足所述预设链路要求,由所述BIOS对所述PCIE设备进行枚举。
8.一种计算机可读存储介质,其特征在于,存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-6任意一项所述的方法。
9.一种计算机设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时执行如权利要求1-6任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111241299.6A CN113688087B (zh) | 2021-10-25 | 2021-10-25 | 一种pcie设备枚举方法、***、存储介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111241299.6A CN113688087B (zh) | 2021-10-25 | 2021-10-25 | 一种pcie设备枚举方法、***、存储介质及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113688087A CN113688087A (zh) | 2021-11-23 |
CN113688087B true CN113688087B (zh) | 2022-02-18 |
Family
ID=78587806
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111241299.6A Active CN113688087B (zh) | 2021-10-25 | 2021-10-25 | 一种pcie设备枚举方法、***、存储介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113688087B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114741339B (zh) * | 2022-04-21 | 2023-07-14 | 苏州浪潮智能科技有限公司 | 一种pcie带宽重训练的方法、装置、设备、存储介质 |
CN114817105B (zh) * | 2022-04-22 | 2023-06-27 | 深圳星云智联科技有限公司 | 设备枚举的方法、装置、计算机设备以及存储介质 |
CN115061962B (zh) * | 2022-04-28 | 2023-07-14 | 苏州浪潮智能科技有限公司 | 一种外设传输速率管理的方法、***、存储介质及设备 |
CN114840465B (zh) * | 2022-05-06 | 2023-08-18 | 深圳星云智联科技有限公司 | 提高PCIe卡兼容性的方法、装置、设备及存储介质 |
CN114826489B (zh) * | 2022-05-29 | 2023-07-14 | 苏州浪潮智能科技有限公司 | 一种链路纠错方法、***、存储介质及设备 |
CN115061558B (zh) * | 2022-06-16 | 2023-08-15 | 飞腾信息技术有限公司 | 一种pcie设备的热复位方法、装置、存储介质及pcie设备 |
CN115550291B (zh) * | 2022-11-30 | 2023-03-10 | 苏州浪潮智能科技有限公司 | 交换机的复位***及方法、存储介质、电子设备 |
CN115904849B (zh) * | 2023-01-09 | 2023-05-12 | 苏州浪潮智能科技有限公司 | Pcie链路信号测试方法、***、计算机设备及介质 |
CN115756941B (zh) * | 2023-01-09 | 2023-04-28 | 苏州浪潮智能科技有限公司 | 设备的自动修复方法、装置、电子设备及存储介质 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105306306B (zh) * | 2015-11-12 | 2018-08-24 | 姚焕根 | 链路连通性检测***及方法 |
CN109558282B (zh) * | 2018-12-03 | 2021-10-29 | 郑州云海信息技术有限公司 | 一种pcie链路检测方法、***及电子设备和存储介质 |
CN110134446B (zh) * | 2019-04-18 | 2022-04-15 | 深圳市广和通无线股份有限公司 | 启动pcie设备扫描的方法 |
CN111124977A (zh) * | 2019-10-15 | 2020-05-08 | 芯创智(北京)微电子有限公司 | 一种pcie设备的调试装置和方法 |
CN111159085B (zh) * | 2019-12-30 | 2022-02-18 | 苏州浪潮智能科技有限公司 | 一种pcie带宽的自动配置方法、服务器主板及服务器 |
CN111488233A (zh) * | 2020-04-02 | 2020-08-04 | 苏州浪潮智能科技有限公司 | 一种处理PCIe设备掉带宽问题的方法及*** |
CN112835839A (zh) * | 2021-02-04 | 2021-05-25 | 深圳市广和通无线股份有限公司 | PCIe接口的设备枚举方法、装置、设备及存储介质 |
CN113190273B (zh) * | 2021-04-20 | 2023-05-26 | 长沙海格北斗信息技术有限公司 | 一种多芯片设备及其pcie枚举方法、存储介质 |
CN113448785B (zh) * | 2021-05-28 | 2023-03-28 | 山东英信计算机技术有限公司 | 一种带宽状态异常的处理方法、装置、设备及可读介质 |
-
2021
- 2021-10-25 CN CN202111241299.6A patent/CN113688087B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113688087A (zh) | 2021-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113688087B (zh) | 一种pcie设备枚举方法、***、存储介质及设备 | |
TWI416409B (zh) | 用於從多媒體卡/安全數位卡裝置將主機裝置開機之方法、可從多媒體卡/安全數位卡裝置開機之主機裝置、及可將主機裝置開機之多媒體卡/安全數位卡裝置 | |
CN109558282B (zh) | 一种pcie链路检测方法、***及电子设备和存储介质 | |
TWI446161B (zh) | 處理一多處理器資訊處理系統之一故障處理器的裝置及方法 | |
TWI553650B (zh) | 以記憶體控制器來處理資料錯誤事件之方法、設備及系統 | |
TWI335536B (en) | Information handling system (ihs) method and for updating a non-volatile memory (nvm) included in an information handling system | |
CN110096314B (zh) | 一种接口初始化方法、装置、设备及计算机可读存储介质 | |
US7966486B2 (en) | Computer system with dual basic input output system and operation method thereof | |
CN113590511B (zh) | 一种带宽降速修复方法、装置及电子设备 | |
CN111988196B (zh) | 一种带宽检测方法、装置、电子设备和存储介质 | |
JP2018116648A (ja) | 情報処理装置、その制御方法、及びプログラム | |
CN111159090B (zh) | 一种信息处理方法、装置和电子设备 | |
CN109800032A (zh) | Bootrom多核加载方法及装置 | |
CN111026421A (zh) | 一种升级装置 | |
US20080071979A1 (en) | Automatically detecting types of external data flash devices | |
CN101452417B (zh) | 监控方法及其监控装置 | |
CN111475356A (zh) | 一种***开机测试信息显示方法及相关装置 | |
CN103902301A (zh) | 读取bios的方法、装置以及处理器 | |
CN114020681B (zh) | 逻辑盘符的分配方法、装置、***、电子设备及存储介质 | |
US20090144536A1 (en) | Monitoring method and monitor apparatus | |
JP4291368B2 (ja) | メモリバスチェック手順 | |
CN114546899A (zh) | Usb设备连接方法、***及计算机可读存储介质 | |
CN113448903A (zh) | 一种NVMe扩展卡PCIe带宽调整方法、装置、设备及存储介质 | |
CN111078604A (zh) | 一种i2c总线设备读写的方法及装置 | |
CN110795377A (zh) | 芯片热插拔的方法、装置及计算机、设备、介质和产品 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |