CN120743817B - 丝印信息的匹配方法、装置、电子设备、扩展卡 - Google Patents
丝印信息的匹配方法、装置、电子设备、扩展卡Info
- Publication number
- CN120743817B CN120743817B CN202511226289.3A CN202511226289A CN120743817B CN 120743817 B CN120743817 B CN 120743817B CN 202511226289 A CN202511226289 A CN 202511226289A CN 120743817 B CN120743817 B CN 120743817B
- Authority
- CN
- China
- Prior art keywords
- expansion
- information
- slot
- motherboard
- expansion card
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请公开了一种丝印信息的匹配方法、装置、电子设备、扩展卡,涉及计算机领域,包括在检测到主板上的至少一个主板插槽与扩展卡连接的情况下,读取扩展卡的缓存数据,其中,扩展卡的缓存数据包括扩展卡的至少一个扩展插槽所连接的扩展设备的设备端口的端口信息;建立至少一个主板插槽的丝印信息与扩展卡的至少一个扩展插槽所连接的设备端口的端口信息之间的关联关系,以将丝印信息和端口信息匹配。能够动态地检测和读取扩展卡的缓存数据,进而可以确定设备端口的详细信息,并与主板插槽的丝印信息进行匹配,形成一个完整丝印信息。无需依赖预先固定的硬件配置,提升了系统的丝印信息配置和调整的灵活性。
Description
技术领域
本申请涉及计算机领域,具体而言,涉及一种丝印信息的匹配方法、装置、电子设备、计算机可读存储介质、计算机程序产品、扩展卡。
背景技术
在服务器领域中,服务器的设计需要关注对于符合高速串行计算机扩展总线标准(Peripheral Component Interconnect Express,PCIe)协议的设备的支持,PCIe设备在服务器的各种功能场景中起到重要作用,对于PCIe设备的管理通常依赖于丝印信息,即插槽和端口之间的对应标识,通过丝印信息来识别设备所在的地址。
然而,相关技术中的丝印信息存在灵活性差的问题。
发明内容
本申请提供了丝印信息的匹配方法、装置、电子设备、计算机可读存储介质、计算机程序产品,以至少解决相关技术中丝印信息灵活性差的问题。
本申请提供了一种丝印信息的匹配方法,包括:在检测到主板上的至少一个主板插槽与扩展卡连接的情况下,读取扩展卡的缓存数据,其中,扩展卡的缓存数据包括扩展卡的至少一个扩展插槽所连接的扩展设备的设备端口的端口信息;建立至少一个主板插槽的丝印信息与扩展卡的至少一个扩展插槽所连接的设备端口的端口信息之间的关联关系,以将丝印信息和端口信息匹配。
一种扩展卡,扩展卡包括:多个扩展插槽,扩展插槽用于通过预设的第一协议链路与外部的扩展设备连接;多个缓存模块,多个缓存模块与多个扩展插槽一一对应,缓存模块用于缓存对应的扩展插槽所连接的扩展设备的设备端口的端口信息;主连接器,主连接器用于通过预设的第二协议链路与主板的主板插槽连接,主板能够通过主连接器读取扩展卡的多个缓存模块中的缓存数据。
本申请还提供了一种丝印信息的匹配装置,包括:检测读取模块,用于在检测到主板上的至少一个主板插槽与扩展卡连接的情况下,读取扩展卡的缓存数据,其中,扩展卡的缓存数据包括扩展卡的至少一个扩展插槽所连接的扩展设备的设备端口的端口信息;匹配模块,用于建立至少一个主板插槽的丝印信息与扩展卡的至少一个扩展插槽所连接的设备端口的端口信息之间的关联关系,以将丝印信息和端口信息匹配。
本申请还提供了一种电子设备,包括:存储器,用于存储计算机程序;处理器,用于执行计算机程序时实现上述任一种丝印信息的匹配方法的步骤。
本申请还提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,其中,计算机程序被处理器执行时实现上述任一种丝印信息的匹配方法的步骤。
本申请还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现上述任一种丝印信息的匹配方法的步骤。
通过本申请,提供了一种由软件层控制的、用于自动识别和管理服务器主板插槽与扩展卡之间的连接信息的方法。系统能够动态地检测和读取扩展卡的缓存数据,进而可以确定设备端口的详细信息,并与主板插槽的丝印信息进行匹配,形成一个完整丝印信息,减少了硬件设计的复杂性,避免了对大量固定配置的依赖,还提高了系统的可拓展性、移植性,降低了软硬件资源的占用。通过软件逻辑实现设备端口的自适应识别,无需依赖预先固定的硬件配置,提升了系统的灵活性和可维护性。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本申请实施例的一种丝印信息的匹配方法的服务器设备的硬件结构框图;
图2是根据本申请实施例的一种丝印信息的匹配方法的流程图;
图3是根据本申请实施例的一种丝印信息的匹配方法的流程图之二;
图4是根据本申请实施例的一种丝印信息的匹配方法的流程图之三;
图5是根据本申请实施例的一种丝印信息的匹配方法的流程图之四;
图6是根据本申请实施例的一种丝印信息的匹配方法的流程图之五;
图7是根据本申请实施例的一种丝印信息的匹配方法的流程图之六;
图8是根据本申请实施例的一种丝印信息的匹配方法的流程图之七;
图9是根据本申请实施例的一种丝印信息的匹配方法的流程图之八;
图10是根据本申请实施例的一种丝印信息的匹配方法的流程图之九;
图11是根据本申请实施例的一种丝印信息的匹配方法的流程图之十;
图12是根据本申请实施例的一种丝印信息的匹配方法的流程图之十一;
图13是根据本申请实施例的一种丝印信息的匹配方法的流程图之十二;
图14是根据本申请实施例的一种丝印信息的匹配方法的流程图之十三;
图15是根据本申请实施例的一种丝印信息的匹配方法的流程图之十四;
图16是根据本申请实施例的一种扩展卡的结构图;
图17是根据本申请实施例的一种丝印信息的匹配装置的结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
需要说明的是,在本申请的描述中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。本申请中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。
为了使本技术领域的技术人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。
结合丝印信息的匹配方法的执行所依赖的特定应用环境架构或者特定硬件架构,在此对特定应用环境架构或者特定硬件架构进行描述。
本申请实施例中所提供的丝印信息的匹配方法实施例可以在服务器设备或者类似的运算装置中执行。以运行在服务器设备上为例,图1是本申请实施例的一种丝印信息的匹配方法的服务器设备的硬件结构框图。如图1所示,服务器设备可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述服务器设备还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述服务器设备的结构造成限定。例如,服务器设备还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本申请实施例中的丝印信息的匹配方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至服务器设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器设备的通信供应方提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
本申请的实施例提供了一种丝印信息的匹配方法,应用于上述服务器设备,结合丝印信息的匹配方法的执行流程,对方法进行详细描述。如图2所示,该方法包括如下步骤S200-220:
步骤S200,在检测到主板上的至少一个主板插槽与扩展卡连接的情况下,读取扩展卡的缓存数据。
其中,扩展卡的缓存数据包括扩展卡的至少一个扩展插槽所连接的扩展设备的设备端口的端口信息。
具体地,在服务器启动的初期(例如预执行初始化阶段(Pre-EFIInitialization,PEI)),服务器的基本输入输出系统(Basic Input Output System,BIOS)需要检测主板上的哪些插槽已经连接了扩展卡,例如高速组件互联(PeripheralComponent Interconnect Express,PCIe)扩展卡(Riser卡)。
示例性地,BIOS利用系统管理总线(System Management Bus,SMBus)控制器,通过集成电路互连(Inter-Integrated Circuit,I2C)接口遍历所有预设的地址列表,检查是否有扩展卡的响应,进而确定是否检测到扩展卡与主板插槽连接。这一操作通常在系统引导加载程序(Bootloader)阶段完成,确保所有必要的硬件初始化工作完成之后进行。
具体地,在检测到主板插槽与扩展卡成功连接后,BIOS进一步从扩展卡上的缓存(例如闪存(Flash))或存储器读取设备的详细信息,特别是与PCIe端口相关的数据。
示例性地,BIOS通过SMBus控制器,使用I2C接口,读取每个已连接扩展卡上的Flash存储器。这些存储器中包含了设备的识别信息和PCIe端口的配置信息。SMBus控制器是服务器主板上的一个组件,能够控制SMBus总线,管理与主板上或扩展卡上的设备通讯。I2C是一种双向同步串行总线,用于连接低速的微控制器设备,如Flash存储器。它通过两条线(数据线和时钟线)进行通讯,常用于设备内部的简单数据传输。
其中,主板插槽是服务器主板上的物理插槽,用于安装各种扩展卡,通过扩展卡连接扩展设备如PCIe设备。扩展卡是插入服务器主板插槽的硬件设备,能够提供接口扩展的功能,可以接入额外的外接扩展设备,例如图形处理器(Graphics Processing Unit,GPU)、网卡等。设备端口的端口信息是扩展设备(如GPU、网卡)连接到服务器时所使用的具体PCIe端口的标识信息。
步骤S210,建立至少一个主板插槽的丝印信息与扩展卡的至少一个扩展插槽所连接的设备端口的端口信息之间的关联关系,以将丝印信息和端口信息匹配。
具体地,本方法的执行主体即为BIOS,BIOS将主板插槽的丝印信息与从扩展卡上读取的设备端口信息进行匹配,形成一个连贯的映射关系。
示例性地,BIOS将读取到的PCIe端口信息与主板插槽的物理标识(丝印信息)进行关联,形成一个映射表。这通常会涉及对设备端口和主板插槽的地址进行解析,确保每个设备端口的信息能够正确地与对应的主板插槽信息匹配。丝印信息是主板插槽上印刷的物理标识,通常用于指示插槽与特定功能或设备的关联。
其中,SMBus(System Management Bus)是一种基于集成电路互连(Inter-Integrated Circuit,I2C)协议的低速、双向串行通信协议。I2C是一种简单、双向二线制同步串行总线,Riser卡是插在PCIE接口上的功能扩展卡或转接卡,它是新一代的总线接口。
基本输入输出系统(Basic Input Output System,BIOS),作为服务器主板最底层的、最直接的硬件设置和控制的管理者,能为服务器提供更多简单的易用性功能。BIOS是一组固化到主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、系统设置信息、开机后自检程序和系统自启动程序,其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。
在本实施例中,提供了一种由软件层控制的、用于自动识别和管理服务器主板插槽与扩展卡之间的连接信息的方法。系统能够动态地检测和读取扩展卡的缓存数据,进而可以确定设备端口的详细信息,并与主板插槽的丝印信息进行匹配,形成一个完整丝印信息,减少了硬件设计的复杂性,避免了对大量固定配置的依赖,还提高了系统的可拓展性、移植性,降低了软硬件资源的占用。通过软件逻辑实现设备端口的自适应识别,无需依赖预先固定的硬件配置,提升了系统的灵活性和可维护性。
在一个实施例中,如图3所示,步骤S200,在检测到主板上的至少一个主板插槽与扩展卡连接的情况下,读取扩展卡的缓存数据。包括:步骤S300-S320:
步骤S300,读取扩展卡中的控制信息以确定扩展卡的多个扩展插槽分别对应的缓存空间的地址信息。
具体地,BIOS读取扩展卡中的控制信息以确定扩展卡的多个扩展插槽分别对应的缓存空间的地址信息。
示例性地,BIOS在服务器启动时,会主动初始化和检测所有PCIe扩展卡上的设备,通过SMBus协议读取Riser卡上每个扩展插槽(如Slot0、Slot1、Slot2)关联的Flash芯片中的控制信息。这些控制信息包含了关于扩展插槽如何映射到特定中央处理器(CentralProcessing Unit,CPU)的PCIe端口以及这些端口的缓存空间地址的细节。由于每个Flash芯片都有一个固定的I2C地址,BIOS通过这些地址定位并获取相应数据。
步骤S310,根据扩展卡的多个扩展插槽分别对应的缓存的地址信息,依次访问多个扩展插槽分别对应的缓存以获取多个扩展插槽分别对应的缓存数据。
具体地,根据扩展卡的多个扩展插槽分别对应的缓存的地址信息,依次访问多个扩展插槽分别对应的缓存以获取多个扩展插槽分别对应的缓存数据。
示例性地,BIOS在确定了扩展插槽与缓存空间的映射关系后,会按照一定的顺序访问这些缓存,获取与每个插槽相关的缓存数据。访问顺序可以基于插槽的物理位置或预设的逻辑顺序。BIOS会使用PCIe协议中的读写命令,针对每个已知地址的缓存空间进行数据读取,以确认哪些设备已连接至相应的插槽,以及它们的状态和配置信息。
步骤S320,根据多个扩展插槽分别对应的缓存数据确定多个扩展插槽分别连接的设备端口的端口信息。
具体地,根据多个扩展插槽分别对应的缓存数据确定多个扩展插槽分别连接的设备端口的端口信息。
示例性地,BIOS解析从缓存中读取的数据,以识别每张Riser卡上的扩展插槽具体连接了哪种类型的设备,以及这些设备如何与服务器的CPU端口相连接。此过程可以涉及数据解析算法,能够从缓存数据中提取出设备端口的类型、带宽、物理连接位置等信息,进而更新服务器内部的配置表,以反映正确的物理连接状态。
在本实施例中,通过读取PCIe扩展卡上的控制信息,BIOS能够智能地识别每个扩展插槽与缓存空间的对应关系,无需人为干预或复杂的硬件连线,降低了系统设计复杂性,提高了启动速度和资源管理效率。通过直接访问扩展卡插槽关联的缓存数据,BIOS能够快速准确地识别和配置连接到服务器的外部设备,减少系统启动时的不确定性和等待时间,同时也提升了BIOS的诊断能力和系统管理的智能化水平。通过分析缓存数据,BIOS不仅能够自动检测和报告所有连接的外部设备及其端口信息,而且还能动态调整服务器的拓扑配置,以适应不同类型和数量的设备连接变化。这种能力增强了服务器的适应性和灵活性,降低了维护成本,并提高了整体系统性能。
在一个实施例中,如图4所示,步骤S310,根据扩展卡的多个扩展插槽分别对应的缓存的地址信息,依次访问多个扩展插槽分别对应的缓存以获取多个扩展插槽分别对应的缓存数据。包括:步骤S400-S420:
步骤S400,通过预设的协议链路向扩展卡的链路切换器发出控制指令,以通过链路切换器将多个扩展插槽分别对应的缓存切换为读取通道。
具体地,通过特定通信协议(如SMBus)向扩展卡上的链路切换器(如I2C地址上的IC MUX)发送命令,使其将与扩展插槽关联的缓存或存储单元切换到能够读取的状态。确保后续步骤可以访问到必要的数据。
示例性地,服务器启动时,BIOS进入PEI(Pre-EFI Initialization)阶段,此时BIOS通过初始化SMBus控制器,开始遍历预先定义好的I2C地址列表,寻找与每个扩展插槽关联的链路切换器。当检测到I2C地址连通时,表明与扩展卡的链路切换器建立了通信。BIOS随后发送一系列控制指令,这些指令旨在改变链路切换器的状态,使其将与扩展插槽相连的缓存切换至读取模式。
步骤S410,根据多个扩展插槽分别对应的缓存的地址信息,通过链路切换器将预设的协议链路与当前的扩展插槽对应的缓存连接。
其中,在预设的协议链路与扩展插槽对应的缓存之间的通路连通的情况下,通过预设的协议链路访问扩展插槽对应的缓存以获取扩展插槽对应的缓存数据。
具体地,通过链路切换器,BIOS确保每个扩展插槽的缓存可以通过预设的协议链路访问,进而获取到端口信息等。
示例性地,BIOS了解每个扩展插槽对应的缓存在链路总线中的确切地址,这通常通过硬件设计文档或制造商提供的规格说明获得。BIOS通过发送控制指令给链路切换器,建立从SMBus控制器到当前扩展插槽缓存的读取路径。链路切换器根据这些地址信息改变内部连接,确保正确的缓存可以通过正确的I2C地址被访问。一旦读取通道建立,BIOS通过SMBus协议读取缓存中的数据,这些数据记录了关于扩展插槽的配置信息,如其连接的PCIe端口号和所处的物理位置。
步骤S420,在对当前的扩展插槽的缓存数据读取完毕、且多个扩展插槽中存在未被读取缓存数据的扩展插槽的情况下,通过链路切换器将预设的协议链路与下一扩展插槽对应的缓存连接,直到对多个扩展插槽分别对应的缓存数据均读取完毕。
具体地,为了确保所有扩展插槽的相关信息都被完整读取。一旦某个插槽的缓存数据被读取完成,系统将自动转向下一个尚未读取的扩展插槽,重复上述读取过程,直至所有扩展插槽的数据都被覆盖。
示例性地,BIOS在完成一个扩展插槽的缓存数据读取后,检查是否存在更多的扩展插槽未读取,如有,则继续通过链路切换器将SMBus协议链路切换到下一个插槽的缓存地址。系统需维护一个读取状态的列表,列出哪些扩展插槽已经被访问过,哪些还未被读取。每当成功读取一个扩展插槽的缓存,就在列表中更新对应条目的状态。当所有扩展插槽的缓存数据都被读取完毕,读取状态列表中不再有未读取的缓存条目时,这一过程结束。
在本实施例中,通过软件控制链路切换器进行数据读取,这使得服务器能够更灵活地适应不同硬件布局和配置的变化。使用SMBus协议通过I2C链路进行通信,相比传统的多重连线编码方式,显著减少了硬件资源的消耗,提高了服务器设计的经济性和实用性。由于主要逻辑由软件控制,不受硬件设计限制,使得该方案能够轻松地在不同代际的CPU和不同平台的服务器间迁移,增强了可移植性和长期维护的便捷性。这种软硬件解耦的设计理念,能够更好地适应未来硬件技术的发展,减少因硬件升级而导致的软件变更成本。
在一个实施例中,如图5所示,在步骤S200,在检测到主板上的至少一个主板插槽与扩展卡连接的情况下,读取扩展卡的缓存数据之前,该方法包括:步骤S500-S520:
步骤S500,在主板上电启动的情况下,确定主板所连接的各个主板插槽分别对应的预设的协议链路的地址。
具体地,在主板启动的初期,系统需要识别和确定所有主板插槽与预设的协议链路地址之间的关联关系。这里的主板插槽通常指的是用于插入扩展卡的接口,而协议链路地址是指通过特定通信协议(如I2C、SMBus等)可以访问的设备地址。
示例性地,当主板上电并进入启动阶段(PEI阶段),BIOS系统初始化SMBus控制器,并开始遍历一组预先设定的I2C地址列表。这些地址与主板上的各个扩展卡插槽通过硬件(如I2C总线)相连,每个插槽对应一个或多个地址。对于每一个可以的插槽位置,BIOS会检查是否有硬件响应(如Flash芯片)位于预设的I2C地址上。如果某个地址有响应,即表明该插槽上连接有扩展卡。
步骤S510,向主板插槽分别对应的预设的协议链路的地址分别发出读取指令。
其中,扩展卡用于在接收到读取指令的情况下发出反馈指令。
具体地,通过预设的协议链路地址向插槽上的扩展卡发出读取指令。扩展卡接收到指令后,会通过相同的链路发出一个反馈指令,以证实其存在和可通信状态。
示例性地,在确定了所有可以的协议链路地址之后,BIOS会通过SMBus控制器向每个地址发送读取指令。如果主板插槽上有扩展卡,并且扩展卡上存在可以响应SMBus通信的组件(如Flash芯片),它将返回一个反馈指令,这通常是某种形式的应答信号,表明它已经接收到指令并且可以进行通信。
步骤S520,在主板接收到反馈指令的情况下,确定发出反馈指令的协议链路的地址对应的主板插槽连接有扩展卡。
具体地,主板接收到反馈指令后,将分析这些指令并据此判断哪些主板插槽连接了扩展卡。
示例性地,当BIOS通过SMBus协议接收到反馈指令时,它将记录下反馈指令是由哪个I2C地址发出的。由于每个地址都与特定的主板插槽相关联,因此,BIOS可以确定哪些插槽上实际上连接了扩展卡。这一步通过软件逻辑实现了对硬件连接状态的识别,而无需依赖复杂的硬件检测电路,提高了系统的灵活性和效率。
在本实施例中,通过上电启动时确定预设的协议链路地址,并向这些地址发送读取指令以获取反馈指令,主板能够智能地识别哪些插槽连接了扩展卡,而无需依赖复杂的硬件检测或固定配置表。这种方法不仅减少了硬件资源的占用,因为只需要两个I2C线进行通信,而且提高了软件的可维护性和可移植性。
在一个实施例中,如图6所示,在步骤S520,在主板接收到反馈指令的情况下,确定发出反馈指令的协议链路的地址对应的主板插槽连接有扩展卡之后,该方法还包括:步骤S600-S620:
步骤S600,确定与扩展卡连接的主板插槽对应的协议链路的目标地址。
具体地,BIOS在启动后需识别连接到主板上的扩展卡(如Riser卡),并确定哪个主板插槽接入了扩展卡。具体来说,BIOS通过SMBus控制器,利用I2C协议,遍历所有预设的I2C地址,检测哪些地址可以访问,从而确定与扩展卡连接的主板插槽。目标地址是扩展卡上用于存储信息的Flash芯片的I2C地址,通过这个地址,BIOS可以与Flash通信,获取或写入与拓扑结构相关的信息。这一步骤实现了主板拓扑的自动识别,无需依赖固定硬件信号或复杂的配置表,从而提高了系统的灵活性和可扩展性。
步骤S610,调用预设的丝印映射表。
其中,丝印映射表用于指示主板的各个主板插槽对应的物理的丝印信息。
具体地,在确认了与扩展卡连接的主板插槽后,BIOS将调用一个预设的丝印映射表。该表记录了主板上所有物理插槽与其丝印信息的对应关系。丝印信息是用于给用户直观指示设备安装位置的信息,通过该映射表,BIOS可以知道每个插槽的物理标识,便于后续的配置和管理。
示例性地,BIOS在存储器中维护一个丝印映射表,该表以主板插槽的I2C地址为索引,存储对应的物理丝印信息。当BIOS通过I2C通信检测到与扩展卡连接的主板插槽后,根据检测到的I2C地址在丝印映射表中查找对应的丝印信息。由于地址是固定的,因此查找操作简单且快速。
步骤S620,根据丝印映射表和目标地址确定与扩展卡连接的主板插槽的物理的丝印信息。
具体地,在完成了目标地址的确定和丝印映射表的调用后,BIOS将结合这两部分信息,确定扩展卡接入的主板插槽的物理丝印信息。具体而言,BIOS会根据目标地址,在丝印映射表中查找对应的丝印信息,从而准确地知道当前扩展卡连接于主板上的哪个物理插槽,以及这个插槽的丝印信息是什么。
示例性地,BIOS在确定了目标地址后,使用该地址作为索引,访问丝印映射表中相应的位置,读取存储的丝印信息。这一过程确保了BIOS能够准确地获取与扩展卡连接插槽的物理标识,即使在服务器硬件配置或拓扑结构发生变化时,也能正确地识别并配置扩展卡的位置信息。
在本实施例中,首先确定与扩展卡连接的主板插槽对应的协议链路的目标地址,然后使用丝印映射表和目标地址的组合,BIOS能够快速准确地定位和识别主板插槽,简化了配置流程,提高了设备识别和配置的速度。
在一个实施例中,如图7所示,步骤S520,在主板接收到反馈指令的情况下,确定发出反馈指令的协议链路的地址对应的主板插槽连接有扩展卡。包括:步骤S700-S720:
步骤S700,追溯传输反馈指令的协议链路,以确定发出反馈指令的协议链路的地址。
具体地,识别并定位反馈指令的来源,即确定是哪个协议链路发送了这一指令,从而能够确定与主板上哪个主板插槽相连的扩展卡发出了反馈指令。
示例性地,在系统中,每条协议链路(如I2C、SMBus)都拥有其独特的地址,当扩展卡通过这些链路发送反馈时,系统可以通过查询或遍历所有已知的协议链路地址来识别发送指令的链路。这通常涉及到读取和解析SMBus或I2C上的信息,以找出发送方的地址。
步骤S710,解析反馈指令以确定反馈指令中是否包含扩展卡的状态信息。
具体地,系统需要进一步分析反馈指令,判断其中是否包含了有关扩展卡当前状态的详细信息,如是否已连接、工作状态、错误状态等。
示例性地,对反馈指令的结构进行解析,识别出指令中特定的部分,如状态标志位、错误代码等,这些部分携带了扩展卡的状态信息。系统可以通过预定义的状态信息解析函数或模块来完成这一任务。
步骤S720,在确定反馈指令中包含扩展卡的状态信息的情况下,确定发出反馈指令的协议链路的地址对应的主板插槽连接有扩展卡,并更新内部管理表中的主板插槽的状态。
其中,内部管理表用于指示主板插槽是否连接有扩展卡。
具体地,一旦系统确认反馈指令携带了扩展卡的状态信息,它将通过协议链路的地址来确认是哪个主板插槽有扩展卡连接,并更新系统内部的管理表,反映这一变化。
示例性地,系统会有一个内部管理表,记录所有主板插槽的当前状态(如是否有设备连接、设备类型、工作状态等)。当收到包含状态信息的反馈指令时,系统会根据指令中的地址信息,查找对应的插槽并在管理表中更新该插槽的状态信息。
在本实施例中,通过追溯反馈指令的协议链路,系统能够准确地定位到发出反馈的扩展卡所连接的主板插槽,这是进行后续状态判断和资源管理的基础。只有在确定反馈指令包含状态信息后,系统才能继续进行后续的处理,这避免了对无用或错误指令的处理,提高了系统的稳定性和效率。更新内部管理表确保了系统对主板插槽状态的实时监控和准确记录,这是进行资源分配、错误检测和系统优化的前提。系统能够快速响应扩展卡的连接状态变化,避免了因状态信息不准确导致的资源分配错误或性能下降。
在一个实施例中,如图8所示,该方法还包括:步骤S800-S810:
步骤S800,在扩展设备与扩展卡的扩展插槽连接的情况下,向扩展卡的链路切换器发出控制指令,以通过链路切换器将扩展插槽对应的缓存切换为写入通道。
具体地,当服务器的扩展设备(如GPU、网卡等)与扩展卡(如Riser卡)上的某个扩展插槽建立物理连接时,服务器的BIOS向扩展卡上的链路切换器发送一个控制信号或指令。这个控制指令的目的是使链路切换器将与该扩展插槽相关的缓存切换至写入通道模式。
示例性地,系统通过SMBus协议经由I2C接口与链路切换器通信。BIOS在启动时检测到扩展设备与扩展卡插槽的连接后,将向链路切换器发送特定的控制字节或命令序列,指示其将相应的缓存切换至写入模式。随后,BIOS会进一步通过同样的I2C通道,向已切换至写入通道的缓存写入扩展设备端口的详细信息。这些信息可以以二进制格式存储,并包含一个或多个字段,用于后续识别和与硬件的匹配。链路切换器指的是一个可以控制和管理I2C通信线路的模块,该模块能根据控制指令切换缓存的读取或写入通道。
步骤S810,将扩展设备的设备端口的端口信息写入扩展设备所连接的扩展插槽对应的缓存中。
具体地,旦缓存被切换至写入通道,系统可以将当前扩展设备的设备端口(如PCIe端口)的详细信息写入到缓存中。这些信息包括但不限于设备类型、端口标识(identity,ID)、带宽参数等,用于后续识别和配置。
在本实施例中,由于缓存的写入操作由BIOS自动控制,这使得服务器能够灵活适应多种扩展设备的添加,无需预设详细的硬件配置表。在扩展设备与主板间的拓扑发生变化时,即插即用地更新和记录设备端口信息,而无需复杂的硬件调整或人工配置。
在一个实施例中,如图9所示,步骤S810,将扩展设备的设备端口的端口信息写入扩展设备所连接的扩展插槽对应的缓存中。包括:步骤S900-S920:
步骤S900,获取与扩展卡的扩展插槽连接的扩展设备的处理器编号以及扩展设备包括的多个端口的端口信息。
具体地,在服务器启动的初期,BIOS(基本输入输出系统)需要识别与服务器主板上的扩展插槽相连的扩展设备(如显卡、网络卡等)的详细信息。这些信息主要包括扩展设备所连接的处理器(CPU)的唯一编号,以及该扩展设备通过哪些PCIe(外设组件互连高速)端口与服务器通信。这一识别过程是为了确保系统能够正确地为每个插槽分配相应的功能,如显卡、网络接口等。
步骤S910,将同一扩展设备的处理器编号和多个端口的端口信息编码为预设格式的设备数据。
具体地,BIOS需要将处理器编号和PCIe端口信息编码成一种预设的格式,形成“设备数据”。这种编码方式旨在将复杂的信息压缩为可存储和易于检索的形式,便于后续流程中对信息的处理和利用。
示例性地,BIOS利用编码机制,将处理器编号和PCIe端口信息转化为二进制或十六进制格式的数据,这些数据会被组织成一个特定的结构,例如一个字节或一组字节,以适应后续存储的要求。编码规则应当事先定义,并且所有参与此过程的组件(如BIOS和Riser卡控制器)都需要遵守,以确保数据的一致性和可理解性。
步骤S920,将扩展设备的设备数据写入扩展设备所连接的扩展插槽对应的缓存中。
在本实施例中,首先,BIOS在启动时能够自动检测并获取与扩展插槽相连的设备的处理器编号和PCIe端口信息,这消除了手动配置的需要,降低了人为错误的风险。其次,信息的编码存储不仅节省了存储空间,还简化了数据的管理和检索,提高了系统的效率。最后,将设备数据写入扩展插槽的缓存中,保证了在服务器运行期间能够即时、高效地访问这些信息,降低了系统延迟,提升了整体性能,且能够根据缓存中的数据准确的确定端口信息。实现了对扩展设备的自动识别和信息存储,提高了系统的灵活性和可扩展性。
在一个实施例中,步骤S920,将扩展设备的设备数据写入扩展设备所连接的扩展插槽对应的缓存中。包括:通过扩展设备通过预设的协议链路向所连接的扩展插槽传输设备数据,以将设备数据写入所连接的扩展插槽对应的缓存中。
其中,不同的扩展设备的不同的设备端口所对应的协议链路的地址不同。每个扩展设备的每个端口都有其特有的协议链路地址,从而能够区分并识别不同设备的不同端口。可以给每个扩展设备的端口分配唯一的SMBus地址。例如,对于CPU0的PE1端口,其地址为0x21。对于CPU1的PE1端口,地址则为0x22。这样,当服务器启动时,BIOS通过检测不同的SMBus地址,就能准确地识别出连接了哪些设备及端口。
在本实施例中,通过使用SMBus协议,扩展设备能够与服务器主板上的Riser板进行通信,将设备数据写入Riser板上的Flash中。这样,主板上的BIOS不需依赖复杂的硬件配置或庞大的配置表,只需通过简单的读写操作,就能获取扩展设备的信息,减少软硬件设计的复杂度。通过为每个端口独立分配SMBus地址,即使在服务器配置发生变化(如增加或更换设备)时,BIOS也能准确无误地识别并处理每个设备的端口信息,避免了地址冲突,使得方案具有更强的灵活性和可移植性。
在一个实施例中,如图10所示,在步骤S920,将扩展设备的设备数据写入扩展设备所连接的扩展插槽对应的缓存中之后,该方法还包括:步骤S1000-S1030:
步骤S1000,向扩展卡的链路切换器发出控制指令,以通过链路切换器将多个扩展插槽分别对应的缓存切换为读取通道。
具体地,在服务器启动过程中,BIOS(基本输入输出系统)需要识别连接到各个PCIe(外围组件互连)端口上的扩展卡插槽,并确认这些插槽上的设备信息。为了实现这一目标,BIOS会向Riser卡(一种用于扩展PCIe插槽的硬件组件)上的链路切换器发送控制信号。将连接到Riser卡上各插槽的缓存从写入模式切换到读取模式。这一步骤确保了BIOS能够从这些缓存中读取设备数据,因为只有在切换为读取通道后,缓存中的数据才可供读取。
示例性地,BIOS通过SMBus(系统管理总线)协议向Riser卡上的链路切换器发送特定的控制指令。SMBus允许设备通过简单的I2C(内部集成电路)总线与其他设备通信,因此,只需要两根控制线即可完成对链路切换器的指令发送,将缓存切换至读取通道。
步骤S1010,获取扩展设备的多个设备端口分别对应的协议链路的地址。
具体地,在缓存已切换到读取模式之后,BIOS需要知道如何访问每个扩展卡插槽上的协议链路,即每个PCIe设备端口的地址。这些地址通过SMBus协议通信获得,用于后续的读取操作。通过获取地址,BIOS能够定位到各个设备端口上的缓存,从而读取设备信息。
步骤S1020,分别向扩展设备的多个设备端口分别对应的协议链路的地址发出读取指令,以读取多个设备端口所连接的扩展插槽对应的缓存中的设备数据。
步骤S1030,将读取到的设备数据与预先写入的设备数据进行对比,以确定多个设备端口的设备数据是否均已正确写入。
具体地,在读取了设备数据后,BIOS会将这些数据与之前写入缓存的数据进行对比,以验证数据的完整性和正确性。这一步骤确保了BIOS所读取的设备信息与实际连接的设备相符,防止了数据传输错误或缓存读取不完整。
在本实施例中,通过将缓存切换为读取通道,BIOS能够读取之前写入缓存的设备数据,而不依赖于硬件设计的特定拓扑结构或复杂的配置表,这提高了系统的灵活性和可扩展性。通过准确获取每个设备端口对应的协议链路地址,BIOS能够有效地定位到存储设备数据的缓存,从而确保后续读取操作的准确性和效率。通过向协议链路地址发送读取指令,BIOS能够获取到每个设备端口所连接的扩展卡插槽的设备数据。通过对比读取到的设备数据与预先写入的数据,BIOS能够确保设备信息的准确性,避免了因数据错误导致的设备识别问题。
在一个实施例中,如图11所示,该方法还包括:步骤S1100-S1110:
步骤S1100,获取需要与扩展卡连接的扩展设备的端口数量。
具体地,识别和确定与特定扩展卡(如Riser板卡)连接的扩展设备(如GPU、网卡)的实际端口数量或者预期的端口数量。这是因为在服务器架构中,扩展设备的连接和功能分配可以因服务器配置的不同而变化,需要获取端口数量以便于适应增长的端口数量。
步骤S1110,根据端口数量调整扩展卡的缓存数据的数据结构,以使数据结构与端口数量匹配。
具体地,确定了需要与扩展卡连接的端口数量,下一步是调整扩展卡上缓存数据的数据结构,以反映正确的端口信息。例如一个系统设计最初支持最多4个CPU,可以使用2位(bit)来表示这些CPU,因为2位可以表示从0到3的数字,即4个不同的CPU,如果每个CPU有16个PCIe端口,可以使用另外的4位数来表示这些端口。但如果每个CPU的PCIe端口数量从16增加到32,就需要使用5位而不是4位来表示端口号,因为4位数只能表示0-15的数字,而5位可以表示从0到31的数字。
在本实施例中,通过动态检测端口数量,系统能够适应服务器不同配置的变化,无需预先硬编码或依赖于固定配置表,增强了系统的自适应能力。基于端口数量,动态调整缓存数据的数据结构大小。如果端口数量增加,则扩展数据结构以容纳额外的元素。数据结构的动态调整能力使得系统可以在不改变硬件的情况下适应端口数量的变化,增加了系统设计的灵活性和未来端口扩展的便利性,可以满足CPU及端口数量增长的需求,在端口数量增长时无需调整硬件,只需要调整缓存的数据结构即可实现对于增长的端口的表示。
在一个实施例中,如图12所示,步骤S1110,根据端口数量调整扩展卡的缓存数据的数据结构,以使数据结构与端口数量匹配。包括:步骤S1200-S1230:
步骤S1200,确定扩展卡当前存储缓存数据所采用的第一数据结构。
其中,第一数据结构包括第一位数的字节。
具体地,识别扩展卡当前使用的缓存数据结构,即第一数据结构。第一数据结构的定义与扩展卡端口的数量直接相关,包含用于表示端口数量的第一位数的字节。
示例性地,软件可以通过读取扩展卡的配置信息或直接访问存储缓存数据的Flash区域,检查存储结构。例如,如果扩展卡使用了8位字节(即第一位数为8)来表示PCIe端口数量,则系统可以通过读取这些字节来确定当前端口数量的最大表示范围。
步骤S1210,确定第一数据结构是否能够支持端口数量的表示需求。
具体地,在确定了当前数据结构后,系统需要评估这一结构是否能够有效表示当前或未来的端口数量。如果端口数量超出当前数据结构可以表示的范围,则第一数据结构需要被调整。
示例性地,系统会检查当前端口数量与未来可以增加的端口数量,确保这些数量可以被当前数据结构(即第一位数的字节数)所表示。例如,如果第一位数为8,那么当前的数据结构只能表示256个或更少的端口,如果预期端口数量将超过这个范围,则必须进行数据结构的升级。
步骤S1220,在确定第一数据结构未能支持端口数量的表示需求的情况下,根据端口数量的表示需求确定第二数据结构。
其中,第二数据结构包括第二位数的字节,第二位数大于第一位数。
具体地,如果评估后发现第一数据结构无法满足端口数量的表示需求,系统会设计和采用一个新的数据结构,即第二数据结构,用于更准确地表示和存储增加的端口数量信息。第二数据结构的字节数(即第二位数)应比原数据结构的字节数多,以容纳更多的信息。
示例性地,系统可以将数据结构从8位字节升级到16位字节,这样可以表示65536个端口,从而满足更广泛的需求。可以重新规划Flash存储区域,调整数据写入和读取的逻辑,以确保新的数据结构被正确实施和使用。
步骤S1230,将扩展卡的缓存数据的数据结构调整为第二数据结构。
具体地,在确定第二数据结构更适合表示现有或未来的端口数量后,将缓存数据的存储方式从第一数据结构转换到第二数据结构,以确保数据的正确性和完整性。
示例性地,软件会遍历所有缓存数据,根据新的数据结构(即第二数据结构)的格式,重新写入数据。这可以涉及使用更高级的编码方式,如从二进制编码升级到十六进制编码,或者在数据结构中增加额外的字段来表示更大的端口数量。
在本实施例中,通过识别当前数据结构,系统能够准确地理解缓存数据的存储方式,为后续判断是否需要调整数据结构提供了依据。升级后的数据结构能够支持更多的端口数量信息,提高了系统的可扩展性和兼容性,降低了未来因端口数量增长而带来的修改成本。能够动态地调整扩展卡缓存数据的数据结构,以适应不断变化的硬件配置和端口数量需求。这一机制保证了即使在端口数量大幅增加的情况下,数据表示的准确性和存储的效率也不会受到影响。此外,它还减少了对硬件资源的依赖,降低了因数据结构限制而进行的硬件修改成本,提升了整个系统的可维护性和可升级性。
在一个实施例中,如图13所示,在步骤S210,建立至少一个主板插槽的丝印信息与扩展卡的至少一个扩展插槽所连接的设备端口的端口信息之间的关联关系之后,该方法还包括:步骤S1300-S1320:
步骤S1300,汇总主板上的各个主板插槽分别与扩展卡的至少一个扩展插槽所连接的设备端口的端口信息之间的关联关系,以构建丝印信息关系表。
其中,丝印信息关系表用于指示主板上的各个主板插槽分别对应的物理丝印所对应的设备端口。
具体地,在服务器启动时,BIOS自动检测主板上的插槽以及所连接的扩展卡的插槽与服务器内部设备端口(如PCIe端口)之间的连接关系。这些信息将被整理并形成一个丝印信息关系表,这个表格的作用是明确标示出主板上每个插槽(通常通过物理丝印标注)与其实际所连接的内部设备端口的对应关系。
示例性地,BIOS在启动过程中,对SMBus控制器进行初始化,随后遍历所有预定的I2C地址,检查每个地址是否连通,以此判断PCIe端口是否连接了Riser卡的插槽。如果检测到连通,BIOS会根据CPU编号和PCIe端口号,将相应的信息写入Riser卡上Flash的指定位置。接着,BIOS切换Flash的通信路径,从写入变为读取模式,从而读取出每个Riser卡插槽的信息,构建完整的丝印信息关系表。
步骤S1310,在扩展卡的至少一个扩展插槽接入新的设备端口的情况下,建立新的设备端口与主板上的主板插槽的物理丝印之间的新关联关系。
具体地,当服务器在运行过程中插入了新的设备(如GPU、网卡等)到扩展卡的某个插槽时,BIOS需要动态地识别这个新设备,并将其与主板上特定插槽的物理丝印关联起来,形成一个新的关联关系。这样做的目的是确保服务器系统能够准确知道新设备的具体位置及其所连接的设备端口信息。
示例性地,当检测到扩展卡的插槽中有新设备接入时,BIOS会再次启动检测流程,通过SMBus/I2C读取新设备所在插槽的Flash中的信息,根据读取到的信息更新丝印信息关系表,确保新设备的位置信息被正确记录。这一过程可以需要在系统运行时动态进行,通过持续监测SMBus控制器的状态来实现。
步骤S1320,采用新关联关系更新丝印信息关系表。
具体地,BIOS建立了新的设备端口与主板插槽物理丝印之间的关联关系之后,它会将这些信息整合,更新之前的丝印信息关系表。这保证了关系表总是反映着最新的设备配置状态,无论是在系统启动时还是在设备热插拔之后。
示例性地,BIOS会将新读取的设备信息与当前丝印信息关系表进行对比,如果发现表中已有信息与新设备的连接不符,将进行更新操作。更新的过程可以包括在表格中添加新的记录,或者修改已有的记录,以反映设备端口的实际连接情况。通过持续更新丝印信息关系表,服务器系统能够始终保持一份最新且准确的设备连接状态的记录表。
在本实施例中,通过构建和维护一个动态更新的丝印信息关系表,实现了服务器内部设备端口与主板插槽之间连接状态的精确管理和实时追踪。
在一个实施例中,如图14所示,步骤S210,建立至少一个主板插槽的丝印信息与扩展卡的至少一个扩展插槽所连接的设备端口的端口信息之间的关联关系。包括:步骤S1400-S1420:
步骤S1400,读取扩展卡的至少一个扩展插槽所连接的设备端口的端口信息,以确定设备端口在预设协议的链路中的第一地址信息。
具体地,在服务器启动时,BIOS通过读取PCIe扩展卡上每个插槽连接的设备端口信息,确定这些设备端口在网络或系统中的唯一地址,即第一地址信息。这是通过SMBus控制器,利用I2C总线来访问Riser卡上的Flash存储器,获取其中存储的设备端口信息。
示例性地,BIOS在启动过程中初始化SMBus控制器,然后遍历所有已知的I2C地址,检查是否有Riser卡上的Flash应答。如果有应答,则通过标准的SMBus读取操作,从Flash中读取预设位置的数据,这些数据包含了设备端口的CPU编号和PCIe编号。由于每个Flash的I2C地址是固定的,BIOS可以通过地址直接定位到特定的Riser卡插槽,从而获取该插槽连接的设备端口信息。
步骤S1410,根据预设的链路映射表确定至少一个主板插槽在预设协议的链路中的第二地址信息。
具体地,服务器BIOS会查找链路映射表,以确定主板上的所有主板插槽在网络或系统中的唯一地址,即第二地址信息。这些信息用于后续的设备识别和配置。
示例性地,BIOS会根据服务器的硬件设计,事先存储一个链路映射表,该表记录了主板上每个主板插槽的物理位置(物理丝印)和在链路总线中的链路地址。
步骤S1420,建立第一地址信息和第二地址信息之间的第一关联关系。
其中,第二地址信息指示至少一个主板插槽的丝印信息。
具体地,服务器BIOS将从设备端口获取的第一地址信息与其在主板插槽上的实际物理位置信息,即第二地址信息,进行关联,从而生成完整的丝印信息。
在本实施例中,通过将设备端口的第一地址信息与主板插槽的第二地址信息相关联,服务器BIOS能够得到各个设备端口的完整丝印信息,完整丝印信息包含了所有已连接设备的设备端口和主板插槽的对应关系。
在一个实施例中,该方法还包括:步骤S1500-S1530:
步骤S1500,监测至少一个扩展插槽所连接的设备端口的变化情况。
具体地,服务器系统在运行过程中,需要实时监测与扩展插槽(如PCIe插槽)相连的设备端口(如CPU上的PCIe端口)是否发生了变化,比如插拔了设备,或设备从一个端口移动到了另一个端口。这一步骤是为了确保服务器能够识别并适应任何硬件配置的动态变化,从而动态调整系统资源和功能。
示例性地,可以通过在服务器启动时,BIOS进行一次扫描,记录下所有扩展插槽与设备端口的初始连接状态,然后在服务器运行过程中,定期或在特定事件触发时(如热插拔事件),再次扫描这些连接状态,将当前状态与初始状态或前一次状态进行对比,从而判断是否有变化发生。这一对比可以通过读取I2C总线上的信息,检查每个扩展插槽上的Flash存储器中的端口信息是否与预期的或之前记录的信息一致。
步骤S1510,在确定至少一个扩展插槽所连接的设备端口发生变化的情况下,从至少一个扩展插槽对应的缓存数据中获取发生变化的当前设备端口的新端口信息。
具体地,监测到扩展插槽与设备端口的连接发生了变化,服务器系统需要从相关插槽的缓存数据中读取最新的设备端口信息。这些缓存数据通常存储在扩展插槽的Flash芯片中,包含了当前设备端口的详细信息,如端口号、带宽等,这些信息对于系统识别设备类型和进行适当的资源分配至关重要。
示例性地,BIOS通过I2C接口访问Riser板上的Flash存储器,读取其中存储的端口信息。这些信息是通过上文的写入流程,在扩展设备连接时被更新到Flash中的。读取后,系统将新端口信息与已有的系统拓扑信息进行整合,以确保系统对新硬件配置的准确识别和管理。
步骤S1520,根据新端口信息确定发生变化的设备端口在预设协议的链路中的第三地址信息。
具体地,获取新端口信息后,系统需要根据预设的通信协议(如SMBus协议)确定该端口在网络或链路中的新地址。地址信息是网络通信的关键,用于设备间的识别和数据传输。在服务器系统中,每个设备端口在协议链路中都有一个唯一的地址,通过这个地址,系统可以定位和控制对应的设备。
示例性地,系统根据读取到的新端口信息中的CPU编码和PCIe端口编码,映射到预设的协议地址表中,找到对应的链路地址。这个映射过程可以涉及到算法处理,如位运算或查表,以将物理端口信息转换为协议链路中的地址信息。
步骤S1530,建立第一地址信息和第三地址信息之间的第二关联关系,并采用第二关联关系更新第一关联关系。
具体地,服务器系统中,物理端口(设备端口)与协议链路中的地址(第三地址信息)之间需要建立一种关联关系,以便系统能够通过链路地址来控制和访问物理端口。这种关联关系是动态的,随着硬件配置的变化而更新,保持系统与硬件的同步。
示例性地,系统根据新的链路地址信息(第三地址信息),更新其内部的物理端口到链路地址的映射表(第一关联关系)。这一更新过程可以是实时的,也可以在系统启动或系统状态变化时进行。
示例性地,对本申请的工作流程进行说明,首先,在服务器启动过程中,BIOS初始化SMBus控制器,通过I2C总线检测主板插槽与Riser卡的连接状态,进而确定扩展卡所在的主板插槽,即确定了扩展卡连接的主板插槽的丝印信息,通过扩展卡的缓存数据确定扩展卡连接的扩展设备的端口信息,从而能够将端口信息和丝印信息匹配,确定主板插槽与设备端口之间的关联关系,构建丝印信息关系表。在设备端口发生变化的情况下,BIOS监测到变化并通过更新缓存模块中的数据,实时更新丝印信息关系表中的关联关系。整个过程充分利用了I2C总线和SMBus协议的优势,实现了软硬件解耦,提高了系统的灵活性、可拓展性、可移植性和资源占用的优化,为服务器的设备识别和管理提供了高效、准确的解决方案。
在本实施例中,监测扩展插槽的动态变化能够使服务器系统即时响应硬件配置的变化,保持系统的稳定性和高效性。通过从缓存数据中获取新端口信息,服务器系统能够实时更新其内部的硬件拓扑图,确保所有系统功能和管理操作基于最新的硬件连接状态进行,从而提高了系统的灵活性和响应速度,优化了资源分配。确定设备端口的链路地址信息,使得服务器能够在网络中识别和定位新的设备,为后续的数据传输和控制操作提供了必要的基础。通过更新物理端口与链路地址之间的映射关系,服务器系统能够保持对硬件变化的响应,并在任何情况下都准确地访问和控制设备端口。
在一个实施例中,如图16所示,提供了一种扩展卡100,扩展卡100为上述任一实施例中的扩展卡100,扩展卡100包括:多个扩展插槽10、多个缓存模块20、主连接器30,其中:
扩展插槽10用于通过预设的第一协议链路与外部的扩展设备40连接。
其中,扩展插槽10是扩展卡100的核心组件,用于连接外部的扩展设备40,如GPU卡、网络卡或其他PCIe设备。这些插槽通过预设的第一协议链路确保与扩展设备之间的高速数据传输。每个扩展插槽10包括必要的电源针脚、数据传输针脚以及时钟信号针脚,这些针脚共同构成了与扩展设备交互的物理接口。
多个缓存模块20与多个扩展插槽10一一对应,缓存模块20用于缓存对应的扩展插槽10所连接的扩展设备40的设备端口的端口信息。
其中,缓存模块20作为存储单元,与扩展插槽10一一对应,作用是存储和保留连接到对应的扩展插槽10的扩展设备40的设备端口的端口信息。这包括设备类型、端口号、速度等级、配置状态等重要参数。缓存模块通过I2C总线连接到扩展卡的SMBus控制器,允许BIOS或SMBus控制器对其进行读写操作。从SMBus控制器出发,经过I2C总线连接到扩展插槽10然后连接到对应的缓存模块20,形成数据写入路径。当主连接器30连接到主板插槽50时,主板可以通过另外一条I2C总线连接到主连接器30,再通过组连接器30连接到缓存模块20,来读取缓存模块中的数据,形成了数据读取路径。
主连接器30用于通过预设的第二协议链路与主板的主板插槽50连接,主板能够通过主连接器30读取扩展卡的多个缓存模块20中的缓存数据。
其中,主连接器30是扩展卡与主板之间的桥梁,它通过预设的第二协议链路(第二协议链路和第一协议链路不同,也就是向缓存模块20写入数据的链路和从缓存模块20读取数据的链路不同)与主板上的主板插槽50建立连接。主板能够通过这个连接访问扩展卡上的缓存模块20,获取必要的端口信息和状态,从而实现对整个系统的管理和控制。
在本实施例中,缓存模块的存在允许扩展设备一旦接入扩展插槽,其端口信息就能被迅速记录和存储,即使在系统断电后也能保持信息完整性,无需硬件上的额外引脚进行设备信息的静态编码。2.使用I2C总线而非多条专用信号线来进行信息传递,极大地节省了扩展卡上的硬件资源,降低了设计复杂度和制造成本。BIOS或主板上的管理软件能够直接读取缓存模块中的信息,无需依赖复杂的硬件逻辑,简化了系统管理的软件算法,增强了方案的灵活性和可移植性。由于缓存模块能够独立存储设备信息,且通过软件进行读写,这使得系统的拓扑结构可以更加动态,便于系统在不改变硬件的情况下进行软件升级,提高了对不同类型或数量的扩展设备的支持能力,同时也简化了故障诊断和设备更换过程。
在一个实施例中,该方法还包括:根据服务器的工作负载、设备使用频率、以及数据流量模式,智能预测服务器未来可以的设备端口需求。
具体地,采用人工智能算法分析服务器的工作负载、设备使用频率、以及数据流量模式,智能预测服务器未来可以的设备端口需求。当监测到扩展插槽所连接的设备端口发生的变化时,系统不仅读取新的端口信息,还会根据设备的类型、性能参数和历史使用情况,动态调整PCIe链路带宽分配,以优化设备性能和系统资源使用。
示例性地,系统定期收集服务器的工作负载数据、设备使用情况和数据流量模式,利用机器学习算法进行分析,预测未来一段时间内服务器的设备端口需求。根据预测结果,动态调整服务器CPU与PCIe设备之间的链路配置,如增加或减少链路带宽、优化链路路径等,以匹配预测的设备需求和减轻服务器瓶颈。配置调整后,系统会持续监测其效果,收集反馈数据,用于后续预测模型的训练和优化,形成闭环,提高预测的准确性和配置的合理性。
在检测到扩展卡上设备端口的变化时,更新设备端口的链路地址信息,并根据设备类型和预期使用情况调整更新的设备端口对应的扩展插槽对应的缓存配置。
具体地,在智能动态配置的基础上,系统引入预测性缓存更新机制。即当服务器BIOS检测到扩展卡上设备端口的变化时,不仅更新设备的链路地址信息,还会根据设备类型和预期使用情况,预先在目标设备端口的缓存空间中加载相关数据和配置信息,以减少远程访问带来的延迟,提高设备使用初期的性能。
示例性地,当扩展设备连接到扩展插槽时,系统读取设备的类型和性能参数,判断该设备可以的数据访问模式。基于设备类型和预计使用情况,BIOS预测哪些数据和配置信息最可能被新接入的设备频繁访问,将这部分数据提前加载到对应的缓存空间中。
在本实施例中,智能动态配置确保设备端口链路带宽与实际需求相匹配,减少了资源浪费,提高了服务器的整体性能和效率。系统能够根据实时工作负载和设备需求进行链路配置调整,提高服务器的性能。预测性缓存更新使得新接入设备在初始化阶段就能快速访问到所需数据,缩短了设备准备时间,提升了用户体验。通过预先加载数据到本地缓存,大幅度减少了跨处理节点的远程数据访问次数,降低了系统整体延迟,提高了系统性能。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
本申请的实施例还提供了一种丝印信息的匹配装置,图17是根据本申请实施例的一种丝印信息的匹配装置的结构框图,该装置包括:
检测读取模块1701,用于在检测到主板上的至少一个主板插槽与扩展卡连接的情况下,读取扩展卡的缓存数据,其中,扩展卡的缓存数据包括扩展卡的至少一个扩展插槽所连接的扩展设备的设备端口的端口信息。
匹配模块1702,用于建立至少一个主板插槽的丝印信息与扩展卡的至少一个扩展插槽所连接的设备端口的端口信息之间的关联关系,以将丝印信息和端口信息匹配。
在一个示例性实施例中,检测读取模块1701还用于读取扩展卡中的控制信息以确定扩展卡的多个扩展插槽分别对应的缓存空间的地址信息。根据扩展卡的多个扩展插槽分别对应的缓存的地址信息,依次访问多个扩展插槽分别对应的缓存以获取多个扩展插槽分别对应的缓存数据。根据多个扩展插槽分别对应的缓存数据确定多个扩展插槽分别连接的设备端口的端口信息。
在一个示例性实施例中,检测读取模块1701还用于通过预设的协议链路向扩展卡的链路切换器发出控制指令,以通过链路切换器将多个扩展插槽分别对应的缓存切换为读取通道。根据多个扩展插槽分别对应的缓存的地址信息,通过链路切换器将预设的协议链路与当前的扩展插槽对应的缓存连接,其中,在预设的协议链路与扩展插槽对应的缓存之间的通路连通的情况下,通过预设的协议链路访问扩展插槽对应的缓存以获取扩展插槽对应的缓存数据。在对当前的扩展插槽的缓存数据读取完毕、且多个扩展插槽中存在未被读取缓存数据的扩展插槽的情况下,通过链路切换器将预设的协议链路与下一扩展插槽对应的缓存连接,直到对多个扩展插槽分别对应的缓存数据均读取完毕。
在一个示例性实施例中,该装置还用于:在主板上电启动的情况下,确定主板所连接的各个主板插槽分别对应的预设的协议链路的地址。向主板插槽分别对应的预设的协议链路的地址分别发出读取指令,其中,扩展卡用于在接收到读取指令的情况下发出反馈指令。在主板接收到反馈指令的情况下,确定发出反馈指令的协议链路的地址对应的主板插槽连接有扩展卡。
在一个示例性实施例中,该装置还用于:确定与扩展卡连接的主板插槽对应的协议链路的目标地址。调用预设的丝印映射表,其中,丝印映射表用于指示主板的各个主板插槽对应的物理的丝印信息。根据丝印映射表和目标地址确定与扩展卡连接的主板插槽的物理的丝印信息。
在一个示例性实施例中,该装置还用于:追溯传输反馈指令的协议链路,以确定发出反馈指令的协议链路的地址。解析反馈指令以确定反馈指令中是否包含扩展卡的状态信息。在确定反馈指令中包含扩展卡的状态信息的情况下,确定发出反馈指令的协议链路的地址对应的主板插槽连接有扩展卡,并更新内部管理表中的主板插槽的状态,其中,内部管理表用于指示主板插槽是否连接有扩展卡。
在一个示例性实施例中,该装置还用于:在扩展设备与扩展卡的扩展插槽连接的情况下,向扩展卡的链路切换器发出控制指令,以通过链路切换器将扩展插槽对应的缓存切换为写入通道。将扩展设备的设备端口的端口信息写入扩展设备所连接的扩展插槽对应的缓存中。
在一个示例性实施例中,该装置还用于:获取与扩展卡的扩展插槽连接的扩展设备的处理器编号以及扩展设备包括的多个端口的端口信息。将同一扩展设备的处理器编号和多个端口的端口信息编码为预设格式的设备数据。将扩展设备的设备数据写入扩展设备所连接的扩展插槽对应的缓存中。
在一个示例性实施例中,该装置还用于:通过扩展设备通过预设的协议链路向所连接的扩展插槽传输设备数据,以将设备数据写入所连接的扩展插槽对应的缓存中,其中,不同的扩展设备的不同的设备端口所对应的协议链路的地址不同。
在一个示例性实施例中,该装置还用于:向扩展卡的链路切换器发出控制指令,以通过链路切换器将多个扩展插槽分别对应的缓存切换为读取通道。获取扩展设备的多个设备端口分别对应的协议链路的地址。分别向扩展设备的多个设备端口分别对应的协议链路的地址发出读取指令,以读取多个设备端口所连接的扩展插槽对应的缓存中的设备数据。将读取到的设备数据与预先写入的设备数据进行对比,以确定多个设备端口的设备数据是否均已正确写入。
在一个示例性实施例中,该装置还用于:获取需要与扩展卡连接的扩展设备的端口数量。根据端口数量调整扩展卡的缓存数据的数据结构,以使数据结构与端口数量匹配。
在一个示例性实施例中,该装置还用于:确定扩展卡当前存储缓存数据所采用的第一数据结构,其中,第一数据结构包括第一位数的字节。确定第一数据结构是否能够支持端口数量的表示需求。在确定第一数据结构未能支持端口数量的表示需求的情况下,根据端口数量的表示需求确定第二数据结构,其中,第二数据结构包括第二位数的字节,第二位数大于第一位数。
将扩展卡的缓存数据的数据结构调整为第二数据结构。
在一个示例性实施例中,该装置还用于:汇总主板上的各个主板插槽分别与扩展卡的至少一个扩展插槽所连接的设备端口的端口信息之间的关联关系,以构建丝印信息关系表,其中丝印信息关系表用于指示主板上的各个主板插槽分别对应的物理丝印所对应的设备端口。在扩展卡的至少一个扩展插槽接入新的设备端口的情况下,建立新的设备端口与主板上的主板插槽的物理丝印之间的新关联关系。采用新关联关系更新丝印信息关系表。
在一个示例性实施例中,匹配模块1702还用于:读取扩展卡的至少一个扩展插槽所连接的设备端口的端口信息,以确定设备端口在预设协议的链路中的第一地址信息。根据预设的链路映射表确定至少一个主板插槽在预设协议的链路中的第二地址信息。建立第一地址信息和第二地址信息之间的第一关联关系,其中,第二地址信息指示至少一个主板插槽的丝印信息。
在一个示例性实施例中,该装置还用于:监测至少一个扩展插槽所连接的设备端口的变化情况。在确定至少一个扩展插槽所连接的设备端口发生变化的情况下,从至少一个扩展插槽对应的缓存数据中获取发生变化的当前设备端口的新端口信息。根据新端口信息确定发生变化的设备端口在预设协议的链路中的第三地址信息。建立第一地址信息和第三地址信息之间的第二关联关系,并采用第二关联关系更新第一关联关系。
丝印信息的匹配装置所对应实施例中特征的说明可以参见丝印信息的匹配方法所对应实施例的相关说明,这里不再一一赘述。
本申请的实施例还提供了一种电子设备,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一种丝印信息的匹配方法实施例中的步骤。
本申请的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一种丝印信息的匹配方法实施例中的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本申请的实施例还提供了一种计算机程序产品,上述计算机程序产品包括计算机程序,计算机程序被处理器执行时实现上述任一种丝印信息的匹配方法实施例中的步骤。
本申请的实施例还提供了另一种计算机程序产品,包括非易失性计算机可读存储介质,非易失性计算机可读存储介质存储计算机程序,计算机程序被处理器执行时实现上述任一种丝印信息的匹配方法实施例中的步骤。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
以上对本申请所提供的一种丝印信息的匹配方法、装置、电子设备、计算机可读存储介质、计算机程序产品进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
Claims (18)
1.一种丝印信息的匹配方法,其特征在于,所述方法包括:
在检测到主板上的至少一个主板插槽与扩展卡连接的情况下,读取所述扩展卡中的控制信息以确定所述扩展卡的多个扩展插槽分别对应的缓存空间的地址信息;根据所述扩展卡的多个扩展插槽分别对应的缓存的地址信息,依次访问所述多个扩展插槽分别对应的缓存以获取所述多个扩展插槽分别对应的缓存数据,其中,所述扩展卡的缓存数据包括所述扩展卡的至少一个扩展插槽所连接的扩展设备的设备端口的端口信息;
读取所述扩展卡的至少一个扩展插槽所连接的设备端口的端口信息,以确定所述设备端口在预设协议的链路中的第一地址信息;根据预设的链路映射表确定所述至少一个主板插槽在预设协议的链路中的第二地址信息;建立所述第一地址信息和所述第二地址信息之间的第一关联关系,以将所述丝印信息和所述端口信息匹配,其中,所述第二地址信息指示所述至少一个主板插槽的丝印信息。
2.根据权利要求1所述的丝印信息的匹配方法,其特征在于,所述根据所述扩展卡的多个扩展插槽分别对应的缓存的地址信息,依次访问所述多个扩展插槽分别对应的缓存以获取所述多个扩展插槽分别对应的缓存数据,包括:
通过预设的协议链路向所述扩展卡的链路切换器发出控制指令,以通过所述链路切换器将所述多个扩展插槽分别对应的缓存切换为读取通道;
根据所述多个扩展插槽分别对应的缓存的地址信息,通过所述链路切换器将所述预设的协议链路与当前的扩展插槽对应的缓存连接,其中,在所述预设的协议链路与扩展插槽对应的缓存之间的通路连通的情况下,通过所述预设的协议链路访问所述扩展插槽对应的缓存以获取所述扩展插槽对应的缓存数据;
在对当前的扩展插槽的缓存数据读取完毕、且所述多个扩展插槽中存在未被读取缓存数据的扩展插槽的情况下,通过所述链路切换器将所述预设的协议链路与下一扩展插槽对应的缓存连接,直到对所述多个扩展插槽分别对应的缓存数据均读取完毕。
3.根据权利要求1所述的丝印信息的匹配方法,其特征在于,在检测到主板上的至少一个主板插槽与扩展卡连接的情况下,读取所述扩展卡的缓存数据之前,所述方法包括:
在所述主板上电启动的情况下,确定所述主板所连接的各个主板插槽分别对应的预设的协议链路的地址;
向所述主板插槽分别对应的预设的协议链路的地址分别发出读取指令,其中,所述扩展卡用于在接收到所述读取指令的情况下发出反馈指令;
在所述主板接收到反馈指令的情况下,确定发出所述反馈指令的协议链路的地址对应的主板插槽连接有扩展卡。
4.根据权利要求3所述的丝印信息的匹配方法,其特征在于,在所述主板接收到反馈指令的情况下,确定发出所述反馈指令的协议链路的地址对应的主板插槽连接有扩展卡之后,所述方法还包括:
确定与所述扩展卡连接的主板插槽对应的协议链路的目标地址;
调用预设的丝印映射表,其中,所述丝印映射表用于指示所述主板的各个主板插槽对应的物理的丝印信息;
根据所述丝印映射表和所述目标地址确定与所述扩展卡连接的主板插槽的物理的丝印信息。
5.根据权利要求4所述的丝印信息的匹配方法,其特征在于,在所述主板接收到反馈指令的情况下,确定发出所述反馈指令的协议链路的地址对应的主板插槽连接有扩展卡,包括:
追溯传输所述反馈指令的协议链路,以确定发出所述反馈指令的协议链路的地址;
解析所述反馈指令以确定所述反馈指令中是否包含扩展卡的状态信息;
在确定所述反馈指令中包含扩展卡的状态信息的情况下,确定发出所述反馈指令的协议链路的地址对应的主板插槽连接有扩展卡,并更新内部管理表中的主板插槽的状态,其中,所述内部管理表用于指示主板插槽是否连接有扩展卡。
6.根据权利要求1-5任一项所述的丝印信息的匹配方法,其特征在于,所述方法还包括:
在扩展设备与所述扩展卡的扩展插槽连接的情况下,向所述扩展卡的链路切换器发出控制指令,以通过所述链路切换器将所述扩展插槽对应的缓存切换为写入通道;
将所述扩展设备的设备端口的端口信息写入所述扩展设备所连接的扩展插槽对应的缓存中。
7.根据权利要求6所述的丝印信息的匹配方法,其特征在于,所述将所述扩展设备的设备端口的端口信息写入所述扩展设备所连接的扩展插槽对应的缓存中,包括:
获取与所述扩展卡的扩展插槽连接的扩展设备的处理器编号以及所述扩展设备包括的多个端口的端口信息;
将同一扩展设备的处理器编号和多个端口的端口信息编码为预设格式的设备数据;
将扩展设备的设备数据写入所述扩展设备所连接的扩展插槽对应的缓存中。
8.根据权利要求7所述的丝印信息的匹配方法,其特征在于,所述将扩展设备的设备数据写入所述扩展设备所连接的扩展插槽对应的缓存中,包括:
通过所述扩展设备通过预设的协议链路向所连接的扩展插槽传输设备数据,以将所述设备数据写入所连接的扩展插槽对应的缓存中,其中,不同的扩展设备的不同的设备端口所对应的协议链路的地址不同。
9.根据权利要求8所述的丝印信息的匹配方法,其特征在于,在将扩展设备的设备数据写入所述扩展设备所连接的扩展插槽对应的缓存中之后,所述方法还包括:
向所述扩展卡的链路切换器发出控制指令,以通过所述链路切换器将多个扩展插槽分别对应的缓存切换为读取通道;
获取所述扩展设备的多个设备端口分别对应的协议链路的地址;
分别向所述扩展设备的多个设备端口分别对应的协议链路的地址发出读取指令,以读取所述多个设备端口所连接的扩展插槽对应的缓存中的设备数据;
将读取到的设备数据与预先写入的设备数据进行对比,以确定所述多个设备端口的设备数据是否均已正确写入。
10.根据权利要求1-5任一项所述的丝印信息的匹配方法,其特征在于,所述方法还包括:
获取需要与所述扩展卡连接的扩展设备的端口数量;
根据所述端口数量调整所述扩展卡的缓存数据的数据结构,以使所述数据结构与所述端口数量匹配。
11.根据权利要求10所述的丝印信息的匹配方法,其特征在于,所述根据所述端口数量调整所述扩展卡的缓存数据的数据结构,以使所述数据结构与所述端口数量匹配,包括:
确定所述扩展卡当前存储所述缓存数据所采用的第一数据结构,其中,所述第一数据结构包括第一位数的字节;
确定所述第一数据结构是否能够支持所述端口数量的表示需求;
在确定所述第一数据结构未能支持所述端口数量的表示需求的情况下,根据所述端口数量的表示需求确定第二数据结构,其中,所述第二数据结构包括第二位数的字节,所述第二位数大于所述第一位数;
将所述扩展卡的缓存数据的数据结构调整为所述第二数据结构。
12.根据权利要求1-5任一项所述的丝印信息的匹配方法,其特征在于,在所述建立所述至少一个主板插槽的丝印信息与所述扩展卡的至少一个扩展插槽所连接的设备端口的端口信息之间的关联关系之后,所述方法还包括:
汇总所述主板上的各个主板插槽分别与所述扩展卡的至少一个扩展插槽所连接的设备端口的端口信息之间的关联关系,以构建丝印信息关系表,其中,所述丝印信息关系表用于指示所述主板上的各个主板插槽分别对应的物理丝印所对应的设备端口;
在所述扩展卡的至少一个扩展插槽接入新的设备端口的情况下,建立所述新的设备端口与所述主板上的主板插槽的物理丝印之间的新关联关系;
采用所述新关联关系更新所述丝印信息关系表。
13.根据权利要求1-5任一项所述的丝印信息的匹配方法,其特征在于,所述方法还包括:
监测所述至少一个扩展插槽所连接的设备端口的变化情况;
在确定所述至少一个扩展插槽所连接的设备端口发生变化的情况下,从所述至少一个扩展插槽对应的缓存数据中获取发生变化的当前设备端口的新端口信息;
根据所述新端口信息确定发生变化的设备端口在预设协议的链路中的第三地址信息;
建立所述第一地址信息和所述第三地址信息之间的第二关联关系,并采用所述第二关联关系更新所述第一关联关系。
14.一种扩展卡,其特征在于,所述扩展卡为权利要求1至13任一项中所述的扩展卡,所述扩展卡包括:
多个扩展插槽,所述扩展插槽用于通过预设的第一协议链路与外部的扩展设备连接;
多个缓存模块,所述多个缓存模块与所述多个扩展插槽一一对应,所述缓存模块用于缓存对应的扩展插槽所连接的扩展设备的设备端口的端口信息;
主连接器,所述主连接器用于通过预设的第二协议链路与所述主板的主板插槽连接,所述主板能够通过所述主连接器读取所述扩展卡的多个缓存模块中的缓存数据。
15.一种丝印信息的匹配装置,其特征在于,包括:
检测读取模块,用于在检测到主板上的至少一个主板插槽与扩展卡连接的情况下,读取所述扩展卡中的控制信息以确定所述扩展卡的多个扩展插槽分别对应的缓存空间的地址信息;根据所述扩展卡的多个扩展插槽分别对应的缓存的地址信息,依次访问所述多个扩展插槽分别对应的缓存以获取所述多个扩展插槽分别对应的缓存数据,其中,所述扩展卡的缓存数据包括所述扩展卡的至少一个扩展插槽所连接的扩展设备的设备端口的端口信息;
匹配模块,用于读取所述扩展卡的至少一个扩展插槽所连接的设备端口的端口信息,以确定所述设备端口在预设协议的链路中的第一地址信息;根据预设的链路映射表确定所述至少一个主板插槽在预设协议的链路中的第二地址信息;建立所述第一地址信息和所述第二地址信息之间的第一关联关系,以将所述丝印信息和所述端口信息匹配,其中,所述第二地址信息指示所述至少一个主板插槽的丝印信息。
16.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至13任一项所述的方法的步骤。
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至13任一项所述的方法的步骤。
18.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至13任一项所述的方法的步骤。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202511226289.3A CN120743817B (zh) | 2025-08-29 | 2025-08-29 | 丝印信息的匹配方法、装置、电子设备、扩展卡 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202511226289.3A CN120743817B (zh) | 2025-08-29 | 2025-08-29 | 丝印信息的匹配方法、装置、电子设备、扩展卡 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN120743817A CN120743817A (zh) | 2025-10-03 |
| CN120743817B true CN120743817B (zh) | 2025-11-21 |
Family
ID=97190728
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202511226289.3A Active CN120743817B (zh) | 2025-08-29 | 2025-08-29 | 丝印信息的匹配方法、装置、电子设备、扩展卡 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN120743817B (zh) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0713916A (ja) * | 1993-06-23 | 1995-01-17 | Shinko Seisakusho Co Ltd | 拡張インターフェースボードの識別情報認識方法 |
| CN119961276A (zh) * | 2025-01-15 | 2025-05-09 | 苏州元脑智能科技有限公司 | 端口槽丝印信息更新方法、装置、计算机设备和存储介质 |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB8725111D0 (en) * | 1987-03-13 | 1987-12-02 | Ibm | Data processing system |
| KR102792263B1 (ko) * | 2019-06-17 | 2025-04-09 | 한국전자통신연구원 | 메모리 카드 및 이를 이용한 데이터 처리 방법 |
| CN117608933A (zh) * | 2023-09-28 | 2024-02-27 | 苏州元脑智能科技有限公司 | 服务器PCIe卡机箱丝印识别方法、装置、设备及介质 |
| CN117785537A (zh) * | 2023-12-28 | 2024-03-29 | 苏州元脑智能科技有限公司 | 配置设备丝印信息的方法、装置、计算机设备及存储介质 |
| CN118585259A (zh) * | 2024-07-17 | 2024-09-03 | 苏州元脑智能科技有限公司 | 配置信息获取方法、装置、基板管理控制器、系统及介质 |
| CN118643000B (zh) * | 2024-08-14 | 2024-12-10 | 苏州元脑智能科技有限公司 | 服务器PCIe端口的配置信息表的生成方法、发送方法和装置 |
| CN119396760B (zh) * | 2024-11-01 | 2025-10-21 | 苏州元脑智能科技有限公司 | 一种服务器外插卡设备的丝印绑定方法、装置及系统 |
| CN120508520B (zh) * | 2025-07-16 | 2025-12-05 | 苏州元脑智能科技有限公司 | 一种设备管理系统及服务器 |
-
2025
- 2025-08-29 CN CN202511226289.3A patent/CN120743817B/zh active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0713916A (ja) * | 1993-06-23 | 1995-01-17 | Shinko Seisakusho Co Ltd | 拡張インターフェースボードの識別情報認識方法 |
| CN119961276A (zh) * | 2025-01-15 | 2025-05-09 | 苏州元脑智能科技有限公司 | 端口槽丝印信息更新方法、装置、计算机设备和存储介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN120743817A (zh) | 2025-10-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN114003538A (zh) | 一种智能网卡的识别方法及智能网卡 | |
| CN109451098A (zh) | Fpga加速卡mac地址配置方法、装置及加速卡 | |
| CN118427020A (zh) | 硬件设备管理方法、装置、bmc、存储介质及程序产品 | |
| CN119807106A (zh) | 可插入外部设备的扩展卡电路和通信方法 | |
| CN120711094B (zh) | 一种资产信息获取方法、装置、服务器、控制器及介质 | |
| CN120234281B (zh) | 通信方法、电子设备、存储介质及程序产品 | |
| CN117493258A (zh) | 基板管理控制器的信息获取系统、方法、装置、存储介质 | |
| CN119536832B (zh) | 标识信息配置方法、装置及系统 | |
| CN120743817B (zh) | 丝印信息的匹配方法、装置、电子设备、扩展卡 | |
| CN115373749A (zh) | 一种识别pcie终端设备的方法和计算设备 | |
| CN120086100B (zh) | 点灯控制系统及点灯控制方法 | |
| CN116028283A (zh) | 一种处理器测试系统、方法、装置及可读存储介质 | |
| CN119473170A (zh) | 环形缓存区的构建方法和系统、存储介质及电子设备 | |
| CN119621170A (zh) | 一种参数配置方法及计算设备 | |
| CN117950919A (zh) | 一种PCIe拓扑的切换方法及服务器 | |
| CN121037232B (zh) | 设备信息获取方法及电子设备 | |
| CN120848968B (zh) | 多板卡互联的计算系统和多板卡互联设备的固件管理方法 | |
| CN119829103B (zh) | 一种多板卡计算设备的bmc更新方法 | |
| TWI830352B (zh) | 用於讀取多張不同規格之轉接卡資訊的讀取方法及基板管理控制模組 | |
| CN118295945B (zh) | 带宽分配方法、主板、设备、存储介质及程序产品 | |
| CN114443150B (zh) | 交换机出厂信息同步方法、系统、终端及存储介质 | |
| CN121143891A (zh) | 基于h2b的服务器多配置动态加载与自适应调整方法及系统 | |
| CN120371360A (zh) | 用于批量升级的方法及装置、主机设备、待升级设备、计算机可读存储介质 | |
| CN121125497A (zh) | 通信资源的分配方法和装置、存储介质及电子设备 | |
| CN117708004A (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 |